GNU/Linux >> Belajar Linux >  >> Linux

Panduan pemula untuk membuat pengalihan dalam file .htaccess

Pernahkah Anda merasa perlu mengubah konfigurasi situs web Anda yang berjalan di server web Apache tanpa memiliki akses root ke file konfigurasi server (httpd.conf )? Inilah yang .htaccess file untuk.

.htaccess file menyediakan cara untuk membuat perubahan konfigurasi ke situs web Anda berdasarkan per-direktori. File dibuat di direktori tertentu yang berisi satu atau lebih arahan konfigurasi yang diterapkan ke direktori tersebut dan subdirektorinya. Di shared hosting, Anda harus menggunakan .htaccess file untuk membuat perubahan konfigurasi pada server Anda.

[ Anda mungkin juga menikmati: 6 keterampilan sysadmin yang dibutuhkan pengembang web ]

Penggunaan umum file .htaccess

.htaccess file memiliki beberapa kasus penggunaan. Contoh paling umum meliputi:

  • Pengalihan untuk URL tertentu
  • Muat halaman kesalahan khusus, seperti 404 halaman
  • Paksa situs web Anda ke HTTPS, bukan HTTP
  • Izinkan atau tolak akses alamat IP tertentu ke situs web Anda
  • Lindungi sandi direktori tertentu di server Anda

Kapan tidak menggunakan .htaccess?

.htaccess File ini biasanya digunakan ketika Anda tidak memiliki akses ke file konfigurasi server utama httpd.conf atau konfigurasi virtual host, yang hanya terjadi jika Anda telah membeli shared hosting. Anda dapat mencapai semua kasus penggunaan yang disebutkan di atas dengan mengedit file konfigurasi server utama (mis., httpd.conf ) atau file konfigurasi host virtual, jadi Anda tidak boleh menggunakan .htaccess ketika Anda memiliki akses ke file-file itu. Konfigurasi apa pun yang perlu Anda masukkan ke dalam .htaccess file dapat secara efektif ditambahkan dalam di server utama atau file konfigurasi host virtual Anda.

Alasan untuk menghindari penggunaan .htaccess

Ada dua alasan untuk menghindari penggunaan .htaccess file. Mari kita lihat lebih dekat.

Pertama :Performa - Saat AllowOverride diatur untuk mengizinkan penggunaan .htaccess file, httpd akan mencari .htaccess file di setiap direktori mulai dari direktori induk. Ini akan menyebabkan dampak kinerja, apakah Anda menggunakannya atau tidak. .htaccess file dimuat setiap kali dokumen diminta dari direktori.

Untuk memiliki tampilan penuh dari arahan yang harus diterapkan, httpd akan selalu mencari .htaccess file dimulai dengan direktori induk hingga mencapai sub-direktori target. Jika file diminta dari direktori /public_html/test_web/content , httpd harus mencari file berikut:

  • /.htaccess
  • /public_html/.htaccess
  • /public_html/test_web/.htaccess
  • /public_html/test_web/content/.htaccess

Jadi, empat akses sistem file dilakukan untuk setiap akses file dari konten sub-direktori meskipun file tidak ada.

Kedua :Keamanan - memberikan izin kepada pengguna untuk membuat perubahan di .htaccess file memberi mereka kontrol penuh atas konfigurasi server situs web atau host virtual tertentu. Setiap arahan di .htaccess file memiliki efek yang sama seperti yang ditempatkan di httpd file konfigurasi itu sendiri, dan perubahan yang dilakukan pada file ini langsung langsung tanpa perlu me-restart server. Hal ini dapat menjadi berisiko dalam hal keamanan server web dan situs web.

Aktifkan file .htaccess

Untuk mengaktifkan .htaccess file, Anda harus memiliki hak sudo/root di server.

Buka httpd file konfigurasi situs web Anda:

/etc/httpd/conf/test.conf

Anda harus menambahkan arahan konfigurasi berikut di file host virtual server untuk mengizinkan .htaccess file di DocumentRoot direktori. Jika baris berikut tidak ditambahkan, .htaccess file tidak akan berfungsi:

</VirtualHost>
<Directory /var/www/test.com/public_html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Dalam kasus shared hosting, ini sudah diperbolehkan oleh penyedia layanan hosting. Yang perlu Anda lakukan adalah membuat .htaccess file di public_html direktori tempat penyedia layanan telah memberi Anda akses dan ke mana Anda akan mengunggah file situs web Anda.

URL Pengalihan

Jika sasaran Anda hanyalah mengalihkan satu URL ke URL lain, Pengalihan direktif adalah opsi terbaik yang dapat Anda gunakan. Setiap kali permintaan datang dari klien di URL lama, permintaan akan diteruskan ke URL baru di lokasi baru.

Jika Anda ingin melakukan pengalihan lengkap ke domain lain, Anda dapat mengatur hal berikut:

# Redirect to a different domain
Redirect 301 "/service" "https://newdomain.com/service"

Jika Anda hanya ingin mengarahkan ulang URL lama ke URL baru di host yang sama:

# Redirect to a URL on the same domain or host
Redirect 301 "/old_url.html" "/new_url.html"
Load a custom 404 Error page

Untuk pengalaman pengguna yang lebih baik, muat halaman kesalahan khusus saat salah satu tautan di situs web Anda mengarah ke lokasi yang salah atau dokumen telah dihapus.

Untuk membuat halaman 404 khusus, cukup buat halaman web yang akan berfungsi sebagai halaman 404 dan kemudian tambahkan kode berikut ke .htaccess Anda berkas:

ErrorDocument 404 /error/pagenotfound.html

Anda harus mengubah /error/pagenotfound.html ke lokasi halaman 404 Anda.

Paksa penggunaan HTTPS alih-alih HTTP untuk situs web Anda

Jika Anda ingin memaksa situs web Anda menggunakan HTTPS, Anda perlu menggunakan RewriteEngine modul di .htaccess mengajukan. Pertama-tama, Anda harus mengaktifkan RewriteEngine modul di .htaccess file dan kemudian tentukan kondisi yang ingin Anda periksa. Jika kondisi tersebut terpenuhi, maka Anda menerapkan aturan pada kondisi tersebut.

Cuplikan kode berikut menulis ulang semua permintaan ke HTTPS:

# Turn on the rewrite engine
RewriteEngine On

# Force HTTPS and WWW
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off  
RewriteRule ^(.*)$ https://www.test-website.com/$1 [R=301,L]

Mari kita lihat setiap barisnya.

Mesin Tulis Ulang aktif menyalakan RewriteEngine modul. Ini diperlukan; jika tidak, ketentuan dan aturan tidak akan berfungsi.

Kondisi pertama memeriksa apakah www dimasukkan. [ATAU, NC] singkatan dari tidak ada kasus , yang berarti meskipun URL yang dimasukkan memiliki campuran huruf besar atau kecil.

Selanjutnya, memeriksa apakah protokol HTTPS sudah dimasukkan oleh pengguna. Diskon%{https} berarti protokol HTTPS tidak digunakan.

Saat RewriteCond puas, kami menggunakan RewriteRule untuk mengarahkan ulang URL ke HTTPS. Perhatikan bahwa dalam kasus ini, semua URL akan dialihkan ke HTTPS setiap kali ada permintaan.

[ Panduan gratis dari Red Hat:5 langkah untuk mengotomatisasi bisnis Anda. ] 

Menutup

Pemilik situs web sering menggunakan .htaccess file untuk mengontrol perilaku situs web mereka. Dalam artikel ini, kami telah membahas dasar-dasar .htaccess file dan beberapa kasus penggunaan umum di sebagian besar situs web.


Linux
  1. Memblokir akses melalui file .htaccess

  2. Panduan pemula untuk melongo

  3. Membuat file CSR sertifikat web.

  1. Bagaimana Cara Menentukan Proses Yang Membuat File??

  2. Membuat pengalihan Apache

  3. Tip dan trik .htaccess Linux

  1. Memfilter tcpdump:Membuat keteraturan dari kekacauan

  2. Mengecualikan direktori saat membuat file .tar.gz

  3. xauth tidak membuat file .Xauthority