FIle .htaccess merupakan file konfigurasi yang disediakan oleh web server Apache, yang biasanya digunakan untuk mengubah setting default dari Apache. Kita ketahui untuk saat ini sebagian besar hosting web di internet menggunakan Apache sebagai servernya sehingga bagi para pengelola web harus belajar tentang .htaccess supaya dapat melakukan modifikasi terhadap settingan default dari server. Adapun beberapa fungsinya adalah sebagai berikut :
ErrorDocument kode http://www.domain.com/file.php
Sebagai contoh jika anda mempunyai file notfound.html di dalam root direktori dari website anda dan ingin menggunakannya untuk 404, anda dapat menggunakan baris di bawah ini :
ErrorDocument 404 /notfound.html atau
ErrorDocument 404 http://www.domain.com/notfound.php
Jika file tersebut tidak berada dalam root direktori dari website anda, anda hanya perlu menambahkan struktur direktori kedalamnya, contoh :
ErrorDocument 404 /error/notfound.html
Berikut adalah pesan kesalahan yang sering terjadi:
401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong page
Kemudian, yang perlu anda lakukan adalah membuat file untuk menampilkan pesan kesalahan ketika kesalahan itu terjadi dan upload file-file tersebut, jangan lupa upload juga file .htaccess anda.
-
Di direktori yang ingin anda lindungi buat atau buka .htaccess file.
-
Taruh kode di bawah ini dan ganti 192.168.0.1 yang ada di dalam contoh ini dengan IP Address yang ingin anda ijinkan.
Order Deny,Allow
Deny from all
Allow from 192.168.1.1 -
Anda dapat memasukkan sebagian dari IP Address, seperti, 192.168.1
-
Anda dapat menambahkan IP Address lainnya dengan memisahkannya dengan tanda koma, seperti ini
192.168.1.1, 192.168.1. 5
Simpan file .htaccess Anda
allow from all
deny from 111.222.111.000
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.domain.com/ [R=301,L]
Options –Indexes
Untuk mengijinkan Directory Listing anda dapat menghapus line tersebut atau mengganti tanda – dengan tanda +.
IndexIgnore *.gif *.zip *.txt
Redirect 301 /lawas.php http://www.domain.com/anyar.php atau
Redirect permanent /lawas.php http://www.domain.com/anyar.php
Sedangkan jika yang direname adalah nama direktorei, maka perintahnya adalah:
Redirect 301 /olddirectory http://www.domain.com/newdirektori/ atau
Redirect permanent /olddirectory http://www.domain.com/newdirektori/
8. Mencegah eksplorasi pada direktori.
Misalnya kita memiliki banyak file pada direktori tertentu, maka untuk mencegah pengunjung melihat keseluruhan dari isi direktori tadi maka kita perlu menambahkan file index.php pada setiap direktori akan tetapi hal ini tidak mungkin dilakukan dan sebagai gantinya kita hanya perlu menambahkan kode berikut ini:
Options All -Indexes
Sehingga setiap pengunjung yang mengetikkan url seperti ini, misalnya: http://www.domain.com/download maka akan timbul pesan error “404? atau langsung me-redirect pada halaman lain sesuai dengan pengaturan yang kita lakukan.
-
Di direktori yang ingin anda ijinkan Directory Listing, buat atau buka .htaccess file.
-
Taruh kode di bawah ini.
Redirect 301 /index.html http://www.namadomainanda.com/home.html -
Simpan .htaccess dan upload file .htaccess anda bila belum di upload.
-
Tes hasil kerja anda dengan mengunjungi website anda yaitu http://www.domain.com, bila sukses maka alamat yang tampil akan menjadi http://www.domain.com/home.html dan menampilkan website anda.
Ini berarti tidak akan terkena resiko kehilangan status ranking.Untuk melakukan metode redirect ini, taruh kode di bawah ini di dalam .htaccess file Anda :
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.parkeddomain.com
RewriteRule ^(.*)$ http://maindomain.com/$1 [R=301,L]
Jika anda memiliki Domain Parking lebih dari satu atau ingin menghilangkan “www.” dari domain anda, anda hanya perlu mengulang baris “RewriteCond” untuk setiap domain parking yang anda miliki dan tanpa www.
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.parkeddomain1.com [OR]
RewriteCond %{HTTP_HOST} ^parkeddomain1.com [OR]
RewriteCond %{HTTP_HOST} ^www.parkeddomain2.com [OR]
RewriteCond %{HTTP_HOST} ^parkeddomain2.com
RewriteRule ^(.*)$ http://maindomain.com/$1 [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
12. Mencegah Hot Linking dan Bandwidth Leeching
Untuk mencegah orang lain melink secara langsung ke direktori image atau file anda dari website mereka sehingga mencuri bandwidth Anda, maka gunakan:
Perintah tersebut akan membuat direktori image hanya bisa diakses bila user sedang mengakses www.domain.com. Anda jugabisa membuat sebuah gambar bila direktori image Anda dilink. Contohnya image jangan.gif yang bertuliskan: “Bilang dulu kepada yang punya jika mau ngambil…. kunjungi http://www.domain.com/image/ok.gif untuk melihat gambar yang kami miliki”, maka gunakan perintah:
13. Melindungi file wp-comment-post.php dan wp-confiq.php
Melindungi wp-comment-post.php dari spam Walaupun ada Akismet, tapi mungkin perlu juga Anda melindungi blog Anda dari serangan spambot yang mencoba mengirim komentar spam langsung melalui wp-comment-post.php tanpa mengakses blog kita. Berikut baris perintah yang perlu di sertakan di dalam file .htaccess:
Sedangkan untuk melindungi file wp-config.php yang berisi informasi nama database, username database, dan password database, ditambahkan baris berintah seperti di bawah ini:
14. Mengkonversi eksekusi file HTML ke PHP
Anda memiliki website HTML statis. Namun bagaimana jika suatu ketika anda ingin menjalankan kode PHP pada halaman HTML tersebut? Anda bisa menambahkan sebaris kode berikut.
AddHandler application/x-httpd-php .html
RewriteCond %{QUERY_STRING} ^source= RewriteRule (.*) /$1? [R=301,L]
17. Change Default Home Page
Maksudnya adalah file .htaccess dapat digunakan untuk mengubah nama default halaman home / halaman depan website. Agar pengunjung dapat mengakses website hanya dengan nama domain saja misalnya http://www.domain.com tanpa harus menuliskan nama file secara jelas seperti http://www.domain.com/file.html , maka harus ada file index di root direktori. Nama file yang dapat diterima antara lain index.html, index.htm, index.cgi, index.php dan lain-lain. Pastikan bahwa file itu bernama index.*
Ada tingkatan dalam pemberian nama file tersebut. Jika kita punya file index.cgi dan index.html di direktori root maka file yang di proses oleh server adalah file index.cgi, karena cgi tingkatannya lebih tinggi daripada html. Dengan file .htaccess kita dapat mendefinisikan file index tambahan atau dapat juga mengubah urutan tingkatannya. Untuk mendefinisikan home.html sebagai halaman index, maka dapat ditambahkan kode perintah di dalam file .htaccess seperti berikut:
DirectoryIndex home.html
Hal ini akan memerintah server mencari file bernama home.html, jika server menemukan maka server akan menampilkannya. Tetapi jika tidak maka server akan menampilkan halaman error 404.
18. Override SSI Setting
Secara default hanya halaman web yang memiliki extensi .shtml yang dapat menjalankan server-side termasuk SSI di server. Dengan menggunakan file .htaccess kita dapat mengubah setting default tersebut supaya SSI dapat bekerja dengan format html. Untuk mengubah settingan itu diperlukan kode tambahan yang ditaruh di dalam file .htaccess sebagai berikut:
AddType text/html .html
AddHandler server-parsed .html
Jika kita ingin halaman yang berekstensi .htm dan .html untuk dapat menjalankan SSI, maka file .htaccess dapat ditambahkan kode berikut ini :
19. Prevent Viewing of File .htaccess or Other File
Untuk mencegah user mengakses file .htaccess, ketikkan perintah berikut ini: