GNU/Linux >> Belajar Linux >  >> Panels >> cPanel

Cara mengatur aturan dan pengalihan di .htaccess

Cara menyiapkan aturan dan pengalihan di .htaccess

.htaccess adalah file konfigurasi tingkat direktori yang didukung oleh server web Apache. Ini digunakan untuk mengubah konfigurasi server web (mengaktifkan atau menonaktifkan fitur tambahan) untuk akun tertentu tanpa mengubah pengaturan server global.

File .htaccess berlaku di seluruh direktori tempatnya ditempatkan, termasuk semua file dan subdirektori. Perubahan yang dibuat pada file ini akan segera diterapkan dan server tidak perlu restart.


Cara mencari file .htaccess
Daftar aturan .htaccess yang umum digunakan:
  • Otorisasi/otentikasi 
  • Memblokir 
  • Halaman Kesalahan Khusus 
  • Mod_Rewrite (aturan pengalihan)
  • Perubahan direktori root domain
Menonaktifkan aturan .htaccess yang ada


Untuk mengakses file .htaccess utama dari akun hosting Anda, ikuti langkah-langkah di bawah ini:

1. Masuk ke cPanel . Anda .
2. Navigasikan ke bagian File>> Pengelola File :



3. Jika Anda ingin mengedit file .htaccess untuk domain utama Anda, navigasikan ke public_html map. Jika Anda perlu membuat beberapa perubahan pada domain addon, pindah ke public_html/youraddondomain.com folder.

Sesampai di sana, pastikan Show Hidden files (dotfiles) opsi diaktifkan di Setelan menu:



4. Cari .htaccess file, klik kanan>> Edit :



5. Jika tidak ada file .htaccess di Manajer file Anda, silakan buat file baru menggunakan File pilihan:



Anda siap menambahkan aturan konfigurasi Anda sendiri dan menyimpannya.



Penggunaan umum aturan file .htaccess tercantum di bawah ini:


Authorization/authentication – menentukan batasan keamanan untuk direktori/subdirektori.
Anda dapat melindungi direktori dengan kata sandi, atau beberapa direktori, dan setiap kali pengunjung mencoba mengaksesnya, nama pengguna dan kata sandi akan diperlukan.

Untuk mengatur perlindungan tersebut, Anda perlu:

1. Buat direktori yang ingin Anda lindungi di /home/cpanel_user/.htpasswds/ folder (mis., untuk public_html/test jalurnya adalah .htpasswds/public_html/test/).
      

2. Buat sandi file di direktori ini dan tambahkan detail akses hash menggunakan generator online ini.

3. Tambahkan direktif berikut ke .htaccess:

AuthType Basic
AuthName "Directory Name"AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"memerlukan valid-user


Memblokir – memblokir pengguna berdasarkan alamat IP atau domain. Sangat berguna untuk memblokir pengunjung yang tidak diinginkan atau mengizinkan akses ke bagian tertentu dari situs web oleh pemiliknya, area administrasi, misalnya.
Untuk mengatur aturan pemblokiran tertentu, buat file .htaccess dengan teks berikut:

  • untuk mengizinkan akses ke semua orang dan memblokir pengguna dengan alamat IP X.X.X.X

Mewajibkan semua diberikan
Tidak perlu ip X.X.X.X

  • untuk memblokir semua pengunjung kecuali IP X.X.X.X dan Y.Y.Y.Y tertentu

Mewajibkan semua ditolak
Memerlukan ip X.X.X.X
Memerlukan ip Y.Y.Y.Y

CATATAN: Jangan campur Izinkan . yang sudah tidak digunakan lagi , Tolak , dan Pesan arahan dengan Memerlukan . yang baru arahan.

Halaman Kesalahan Khusus – memungkinkan pembuatan halaman kesalahan khusus untuk sebuah situs. Opsi ini sangat berguna karena memungkinkan Anda menampilkan pesan kesalahan kepada pengunjung situs web yang cocok dengan tema situs web Anda jika URL di situs web Anda tidak berfungsi. Ini membantu untuk menghindari kesalahan '404 File Tidak Ditemukan' default misalnya dan memungkinkan Anda untuk menampilkan kesalahan yang dirancang khusus dengan petunjuk arah kembali ke konten situs web Anda, daripada membiarkannya bingung.
Untuk menyiapkan dokumen kesalahan khusus , buat file .htaccess dengan teks berikut di bawah ini:

ErrorDocument 404 /404.html

Setiap kali kesalahan 404 (File Tidak Ditemukan) muncul, baris ini memberi tahu server Web Apache untuk memuat file 404.html yang terletak di root direktori domain tempat Anda menetapkan halaman kesalahan.

CATATAN :Untuk menyiapkan dokumen untuk kesalahan lain (403, 500, dll.), cukup ganti 404 dengan kode kesalahan yang sesuai dan /404.html dengan jalur ke file kesalahan.


Mod_Tulis Ulang – menentukan bagaimana halaman web dan URL ditampilkan kepada pengunjung.

Kami ingin menarik perhatian Anda pada penggunaan aturan Mod_Rewrite dalam file .htaccess.

Secara default, Mod_Rewrite memetakan URL ke jalur sistem file. Namun, ini juga dapat digunakan untuk mengalihkan satu URL ke URL lain.

Sebelum membuat pengalihan, Anda harus memilih jenis pengalihan yang lebih sesuai untuk Anda:

  • Pengalihan permanen memiliki kode status 301, dan tidak seperti kode sementara, kode ini disimpan di dalam memori browser. Ini menyiratkan bahwa halaman telah dipindahkan dan meminta semua mesin pencari dan agen pengguna yang datang ke halaman untuk memperbarui URL di database mereka. Ini adalah jenis pengalihan yang paling umum.
  • Pengalihan sementara berarti halaman tersebut mengirimkan kode status 302 ke browser. Kode 302 memberi tahu browser untuk tidak menyimpan pengalihan ini ke dalam data yang disimpannya. Ini akan mengarahkan pengunjung atau mesin pencari, tetapi mesin pencari akan terus mengindeks ke halaman asli. Ini adalah jenis pengalihan yang disarankan, kecuali jika Anda benar-benar yakin bahwa Anda tidak akan pernah mengubahnya di masa mendatang.

Daftar pengalihan yang paling umum dan berguna, yang dapat diatur melalui file .htaccess, dapat ditemukan di bawah (domain yang ditentukan dalam contoh harus diganti dengan domain Anda sendiri):


Pengalihan permanen dari example.com ke domain.com

Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Pengalihan sementara dari example.com ke domain.com

Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\/" [R=302,L]

CATATAN :Di bawah ini adalah contoh pengalihan permanen. Yang sementara dapat ditentukan dengan mengganti [R=301,L] dengan [R=302,L] di akhir kode (bila perlu).


Redirect from example.com/subfolder ke domain.com

Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Mengalihkan dari HTTP ke HTTPS untuk example.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R, L]

atau

RewriteCond %{SERVER_PORT} 80     
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^ www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]


Mengalihkan dari non-WWW ke WWW

  • untuk semua domain .htaccess berlaku pada:
Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • untuk domain tertentu, contoh.com:
RewriteEngine Aktif     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301, L]


Mengalihkan dari WWW ke non-WWW
  • untuk semua domain .htaccess berlaku pada:
Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301, L]

  • untuk domain tertentu, example.com:
Mesin Tulis Ulang Aktif
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Mengalihkan semua halaman example.com ke halaman domain.com yang sesuai
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

CATATAN :Semua nama halaman harus cocok di kedua domain atau pengalihan akan mengarah ke pesan "Halaman tidak Ditemukan" di situs web target.

Arahkan satu halaman ke URL baru
Redirect 301 /old_page.html http://www.domain.com/new_page.html

CATATAN :Ini mungkin berguna ketika Anda ingin mengarahkan ulang halaman yang dihapus ke kesalahan 404 atau untuk tujuan SEO setelah referensi konten diperbarui.



Mengubah root direktori untuk domain utama ke public_html/subfolder

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)? example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

CATATAN :File .htaccess harus berada di root direktori domain yang ingin Anda konfigurasikan aturan tertentunya.


Menonaktifkan aturan .htaccess yang ada

Jika Anda perlu menonaktifkan beberapa aturan yang ada, misalnya, untuk tujuan pengujian, Anda cukup mengomentarinya. Untuk melakukannya, tambahkan tanda pound # di awal setiap baris aturan.
Juga, dimungkinkan untuk menonaktifkan garis atau bahkan blok garis dengan memilih salah satu dan menggunakan Ctrl + / jalan pintas.




Itu dia!


                    Butuh bantuan? Hubungi HelpDesk kami

Artikel terkait

Cara mengatur perlindungan internal untuk .htaccess
cPanel
  1. Cara mengatur perlindungan internal untuk .htaccess

  2. Cara mengatur arahan PHP menggunakan .php.ini

  3. Bagaimana cara mengaktifkan ExecCGI melalui file .htaccess?

  1. Cara Mengatur Pengalihan Domain Di cPanel

  2. Cara membatasi akses ke situs web Anda dengan .htaccess dan Pemblokir IP cPanel

  3. Bagaimana cara mengatur file sebagai TIDAK dapat dieksekusi?

  1. Cara Mengaktifkan &Mengatur File .htaccess di Apache

  2. Apa Itu Nama Inang Cantik dan Cara Mengaturnya

  3. Cara Mengatur dan Menjalankan Kafka di Kubernetes