Pengertian
File .htaccess adalah file text sederhana dalam format ASCII. Pada umumnya kita bisa menggunakan file .htaccess untuk merubah beberapa konfigurasi untuk mengarahkan pada web server Apache. File .htaccess dapat ditaruh dimapun pada folder website Anda.
Ada beberapa hal yang dapat dilakukan dengan .htaccess, diantara yaitu:
- Mencegah pengunjung melakukan browsing direktori
- Me-redirect pengunjung dari satu halaman ke halaman lain
- Memberi proteksi password pada direktori
- Mengubah default halaman index pada folder tertentu
- Mencegah hot-linking of images dari website
Banyak hal yang dapat dilakukan dengan .htacces, diantaranya yaitu:
- Membuat halaman pesan kesalahan sendiri
Dengan menggunakan file .htacces, Anda dapat membuat halaman pesan kesalahan yang dapat dilakukan untuk website Anda sendiri dan tidak perlu menggunakan settingan default dari server. Dengan membuat halaman pesan seperti ini membuat website Anda terlihat lebih profesional dalam menangani kesalahan yang terjadi bahkan juga mengijinkan untuk membuat script yang dapat memberitahu Anda jika terjadi kesalahan.Berikut adalah pesan kesalahan yang sering terjadi:401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong pageAnda dapat menggunakan pesan kesalahan Anda sendiri selama mengetahui kode yang digunakan (contoh: 404 page not found) dengan menambahkan perintah ke dalam file .htacces Anda:
ErrorDocument kode /file.html atau
ErrorDocument kode http://www.namadomain/file.php
Contohnya jika Anda mempunyai file notfound.html di dalam root direktori dari website, Anda bisa menggunakannya untuk 404:
ErrorDocument 404 /notfound.html
atauErrorDocument 404 http://www.namadomain/notfound.php
Namun jika file tersebut tidak berada di dalam root direktori dari website, Anda dapat menambahkannya struktur direktori seperti berikut:
ErrorDocument 404 /error/notfound.html
Kemudian buat file untuk menampilkan pesan kesalahan ketika kesalahan itu terjadi dan upload file-file tersebut, juga upload file .htaccess.
- Allow/Deny Browsing Terhadap Folder
Jika browsing pada folder yang belum diberikan file .htaccess, orang yang mengakses sebuah URL dari website Anda dimana folder tersebut tanpa halaman index, akan melihat list dari file dan folder yang terdapat di dalamnya.Untuk mencegah hal-hal seperti akses, dapat menaruh perintah seperti berikut:
IndexIgnore */*
Jika suatu saat kita perlu melakukan direktori browsing, dapat menaruh perintah pada file .htaccess:
Options +Indexes
-
Mencegah Hot Linking dan Bandwidth Leeching
Apabila website berisi gambar-gambar dan website lain melakukan link ke gambar kita untuk ditampilkan di website mereka, maka bandwidth yang kita miliki akan berkurang.
Untuk mencegah hal tersebut, dapat menggunakan perintah:RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domainAnda/.*$ [NC]
RewriteRule .(gif|jpg)$ – [F]Perintah tersebut akan membuat direktori image hanya bisa diakses jika user sedang mengakses website Anda.
-
Mencegah Akses Terhadap File .htaccess
untuk mencegah pengunjung melihat file .htaccess kita, bisa menggunakan perintah dibawah ini pada file .htaccess:<Files .htaccess>
order allow,deny
deny from all
</Files>
-
Redirect Halaman
File .htacces juga dapat difungsikan untuk melakukan redirect sebuah web atau sebuah halaman atau file html yang terdapat pada sebuah web menuju halaman tujuan yang sudah ditentukan.Hal ini biasa dilakukan ketika sedang dilakukan perawatan website oleh pengelola website. Contohnya:
Redirect /home/html/web/index.html http://namadomain/home.html
Redirect permanent /olddirectory http://namadomain/newdirectory/
– Pada baris pertama adalah perintah untuk redirect file index.html yang terdapat pada document root (/home/html/web) menjadi home.html
– Pada baris kedua adalah perintah untuk redirect directory lama pada web anda diarahkan ke directory web yang baru.
-
Canonicalization
.htaccess yang paling umum adalah mengetahui apakah halaman home website Anda memiliki masalah canonicalization atau tidak. Canonicalization adalah satu website yang halaman home-nya memiliki format URL berbeda, seperti contoh: www.namadomain.com, namadomain.com, www.namadomain.com/index.html, namadomain.com/index.html.Namun canonicalization tidak baik untuk sistem SEO, karena trafik menuju website dihitung sebagai URL yang berbeda, meskipun isinya sama. Anda bisa mengatasi Canonicalization dengan menambah script pada file .htaccess Anda, script tersebut akan membuat berbagai format URL Anda menuju ke www.domainAnda.com:
Options +FollowSymLinksRewriteEngine onRewriteCond %{HTTP_HOST} ^namadomain.comRewriteRule (.*) http://www.domainAnda.com/$1 [R=301,L]RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/RewriteRule ^index\.html$ http://www.domainAnda.com/ [R=301,L]