File .htaccess adalah file konfigurasi di tingkat direktori yang didukung oleh server web Apache. File ini memungkinkan Anda untuk mengubah pengaturan server web (seperti mengaktifkan atau menonaktifkan fitur) untuk akun tertentu, tanpa memengaruhi konfigurasi server secara global.
File ini menerapkan pengaturannya ke seluruh direktori tempat file tersebut berada, termasuk semua file dan subdirektori di dalam direktori tersebut. Setiap perubahan yang dilakukan pada file .htaccess akan langsung diterapkan, tanpa perlu me-restart server.
Untuk menemukan file .htaccess:
1. Masuk ke akun Spaceship Anda >> pilih Hosting Manager di Launchpad >> Kelola di samping paket hosting >> File dan Penyimpanan >> Kelola File di dekat nama situs web.
2. Anda akan diarahkan ke folder root domain.
3. Jika Anda perlu mengedit file .htaccess untuk domain, temukan file .htaccess di folder root domain, klik kanan pada file tersebut, dan pilih opsi Edit :

CATATAN: Pastikan "Tampilkan File Tersembunyi (dotfiles)" diaktifkan di menu Pengaturan:

4. Jika tidak ada file .htaccess di File Manager, Anda dapat membuat file baru dengan tombol + File:

5. Anda siap untuk menambahkan aturan konfigurasi Anda sendiri dan menyimpannya.
Metode ini memungkinkan Anda memblokir pengguna berdasarkan alamat IP atau domain mereka. Ini sangat berguna untuk membatasi akses pengunjung yang tidak diinginkan atau untuk membatasi akses ke bagian tertentu dari situs web Anda, seperti area administrasi, hanya untuk pemiliknya saja.
Untuk menerapkan aturan pemblokiran tertentu, buat file .htaccess dengan isi berikut:
(Untuk mengizinkan akses ke semua orang kecuali memblokir pengguna dengan alamat IP X.X.X.X)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(Untuk memblokir semua pengunjung kecuali IP X.X.X.X dan Y.Y.Y.Y tertentu)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
CATATAN: Jangan gunakan direktif Allow, Deny, dan Order yang sudah tidak digunakan lagi bersama dengan direktif baru Require .
Mod_Rewrite menentukan bagaimana halaman web dan URL ditampilkan kepada pengunjung.
Secara default, Mod_Rewrite memetakan URL ke jalur sistem file yang sesuai. Namun, Mod_Rewrite juga dapat mengalihkan satu URL ke URL lain.
Sebelum mengatur pengalihan, penting untuk memilih jenis pengalihan yang paling sesuai dengan kebutuhan Anda:
Pengalihan Permanen (301): Pengalihan ini mengirimkan kode status 301, yang menunjukkan bahwa halaman telah dipindahkan secara permanen. Ini akan di-cache di browser, memberi tahu mesin pencari dan agen pengguna untuk memperbarui URL di basis data mereka. Ini adalah jenis pengalihan yang paling umum.
Pengalihan Sementara (302): Pengalihan ini mengirimkan kode status 302, yang menunjukkan bahwa pemindahan bersifat sementara. Browser tidak akan menyimpan cache pengalihan ini, dan meskipun akan mengalihkan pengunjung dan mesin pencari, halaman asli tetap akan diindeks. Jenis pengalihan ini direkomendasikan kecuali Anda yakin URL tidak akan berubah di masa depan.
Berikut adalah daftar beberapa pengalihan yang paling umum dan berguna yang dapat dikonfigurasi melalui file .htaccess:
Pengalihan permanen dari example1.com ke example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
Pengalihan sementara dari exampledomain1.com ke exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
CATATAN: Berikut adalah contoh pengalihan permanen. Pengalihan sementara dapat didefinisikan dengan mengganti [R=301,L] menjadi [R=302,L] di akhir kode (jika diperlukan).
Pengalihan dari example1.com/subfolder ke example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
Pengalihan 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]
Pengalihan dari non-WWW ke WWW
untuk domain apa pun, .htaccess akan berlaku:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
untuk domain tertentu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Pengalihan dari WWW ke non-WWW
untuk domain apa pun .htaccess akan berlaku:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
untuk domain tertentu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Alihkan semua halaman example.com ke halaman domain.com yang sesuai
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
CATATAN: Semua nama halaman harus sama di kedua domain atau pengalihan akan menghasilkan pesan "Halaman tidak ditemukan".
Alihkan satu halaman ke URL baru
Redirect 301 /old_page.html http://www.domain.com/new_page.html
CATATAN: Teknik ini dapat berguna untuk mengalihkan halaman yang dihapus ke error 404, atau untuk melakukan penyesuaian SEO setelah memperbarui referensi konten.
Jenis aturan ini menentukan pembatasan keamanan untuk direktori atau subdirektori. Anda dapat melindungi direktori dengan kata sandi sehingga setiap pengunjung yang mencoba mengaksesnya akan diminta memasukkan nama pengguna dan kata sandi.
Untuk mengatur perlindungan ini:
1. Buat direktori yang ingin Anda lindungi di dalam folder /home/cpanel_user/.htpasswds/ (misal, untuk domain.com/test, jalurnya adalah .htpasswds/domain.com/test/).
2. Di direktori ini, buat file passwd dan tambahkan kredensial akses yang telah di-hash menggunakan generator online.
3. Tambahkan direktif berikut ke file .htaccess:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
Fitur ini memungkinkan Anda membuat halaman error yang dipersonalisasi untuk situs web Anda. Ini adalah opsi yang berguna karena memungkinkan Anda menampilkan pesan error yang sesuai dengan tema situs web Anda jika ada URL yang rusak. Ini membantu menghindari tampilan error default '404 File Not Found’ dan sebagai gantinya menampilkan halaman error kustom dengan instruksi untuk mengarahkan pengguna kembali ke konten situs Anda, sehingga mencegah kebingungan.
Untuk mengatur halaman error kustom, tambahkan teks berikut ke file .htaccess:
ErrorDocument 404 /404.html
Baris ini menginstruksikan server web Apache untuk memuat file 404.html yang terletak di direktori root domain setiap kali terjadi error 404 (File Not Found).
CATATAN: Untuk membuat halaman error kustom untuk error lain (seperti 403 atau 500), cukup ganti 404 dengan kode error yang sesuai dan /404.html dengan jalur ke file error kustom Anda.
Jika Anda perlu menonaktifkan sementara beberapa aturan yang ada, misalnya untuk tujuan pengujian, Anda dapat dengan mudah mengomentarinya. Untuk melakukan ini, cukup tambahkan tanda pagar (#) di awal baris.
Sebagai alternatif, Anda dapat menonaktifkan satu baris atau satu blok baris dengan memilihnya dan menggunakan pintasan Ctrl + / .