.Htaccess
.htaccess (huruf titik, diikuti dengan
deretan huruf "htaccess") adalah file yang dapat berisi
perintah-perintah untuk webserver Apache. Ditaruh di sebuah direktori di bawah
document root website dan akan perintah-perintah yang di dalamnya akan berefek
pada file-file maupun subdirektori di bawah direktori tersebut.
Dengan .htaccess kita dapat memproteksi sebuah direktori, mengubah opsi tampilan direktori oleh Apache, mengubah asosiasi ekstensi dan handler, dll. Intinya, hampir segala sesuatu kustomisasi yang dapat dilakukan oleh Apache, dapat kita terapkan di .htaccess ini. File .htaccess adalah perpanjangan file konfigurasi Apache yang dapat tersebar di setiap direktori yang diinginkan.
File
.htaccess merupakan sebuah text file ASCII yang terletak di dalam
root directory (biasanya di dalam public_html) yang sering digunakan untuk
mengubah pengaturan default dari web
server yang digunakan.
File
.htaccess sendiri memiliki beberapa kegunaan atau fungsi yang dapat disesuaikan
sesuai kebutuhan yang kita inginkan. Adapun beberapa kegunaan dari file
.htaccess tersebut antara lain adalah :
- Melakukan blokir terhadap alamat IP tertentu, hal ini dilakukan jika kita menginginkan agar alamat IP tertentu tidak dapat melakukan akses terhadap web kita. Selain melakukan terhadap alamat IP tertentu, juga dapat melakukan blokir berdasarkan alamat website tertentu.
- Redirect halaman, selalin melakukan blokir IP, file .htacces juga dapat di fungsikan untuk melakukan redirect sebuah web atau sebuah halaman yang terdapat pada sebuah web menuju halaman tujuan yang sudah di tentukan. Hal ini biasa dilakukan ketika sedang dilakukan perawatan website oleh pengelola website.
- Mencegah explorasi atau melindungi directory, dengan cara ini, kita dapat melindungi directory-directory penting kita ataupun memberikan perlindungan lebih terhadap halaman administrator website kita.
- Pengaturan permalink, fungsi ini berguna untuk mengatur permalink pada website untuk mendukung SEO agar lebih disenangi oleh search engine.
Membuat
.htaccess
Di Windows
Di Windows, mungkin Anda akan mengalami sedikit kesulitan
dalam membuat file ini, dikarenakan Explorer tidak mengizinkan nama file yang
diawali dengan karakter titik. Sebagai solusinya, ada beberapa pilihan. Pertama, Anda dapat
mencoba membuat dulu file kosong bernama ".htaccess" menggunakan DOS
Prompt, caranya bukalah DOS Prompt lalu ketikkan:
copy nul .htaccess
Akan terbuat sebuah file berukuran 0 byte bernama .htaccess
di direktori saat itu. Anda lalu dapat mengeditnya menggunakan Notepad atau
editor lain. Atau, bukalah Notepad, ketikkan
isi yang diinginkan, lalu save. Ketik ".htaccess" dengan
tanda kutip gandanya dan File type diset ke All files. Klik Save/OK.
Atau, bisa
juga menggunakan editor lain seperti EditPlus, yang mengizinkan nama file
berawalan karakter titik.
Di server
Linux
Di server Linux (mis: menggunakan SSH ke server) tidak ada
masalah dalam pembuatan file ini. Cukup gunakan editor favorit Anda seperti
biasa membuat file lain.
Lewat
control panel
Anda juga dapat membuat file .htaccess lewat Kelola File di
control panel. Jika menggunakan Spanel, misalnya, masuklah ke menu
Kelola File, berpindahlah ke document root website Anda, lalu pilihlah Buat
File Baru
Berbagai
contoh penggunaan htaccess
Memblokir IP
tertentu
deny from 1.2.3.4
deny from 1.2.5
Memblokir file berakhiran tertentu
File tertentu kadang berisi informasi
sensitif seperti password, dll yang perlu kita blokir dari pengunjung. Tentu
saja alternatif lainnya adalah jangan menaruh file itu di bawah Docroot :-)
<Files *.conf>
deny from all
</Files>
Memblokir browser (user agent) tertentu
Kadang-kadang ada sebuah bot atau penyerang tertentu yang dapat diidentifikasi User-Agent-nya, dan dapat kita blokir. Untuk melihat User-Agent pengakses, bisa melihat dari log mentah. Misalnya kita ingin memblokir crawler Google dan Yahoo! (Slurp). Di .htaccess, tambahkan:
SetEnvIf User-Agent "(googlebot|Slurp)" crawler
deny from env=crawler
'crawler' dapat diganti kata lain yang sesuai. Anda dapat menambahkan baris-baris User-Agent berikutnya, atau menambahkan kata kunci di regex User-Agent yang sama.
Mengganti default halaman directory
DirectoryIndex awal.html index.html
index.php
Command di atas berguna untuk memberitahu pilihan nama file yang akan dipilih oleh webserver Apache jika sebuah URL diakses tanpa akhiran nama file (mis: http://tokoku.com/ atauhttp://tokoku.com/subdir/). File yang pertama dibuka pada contoh di atas adalah awal.html, dan jika tidak ada maka akan mencari index.html, dan seterusnya.
Jika semua tidak ada, barulah autoindex ditampilkan.
Redirect ke URL
Berguna untuk "melemparkan" pengunjung ke halaman atau website lain.
Redirect / http://sitetujuan
Command diatas akan mengarahkan URL yang kita akses ke URL site tujuan.
Redirect ke www
Berguna bila Anda ingin agar saat user mengakses domain Anda tanpa www langsung dialihkan ke www.
Misal, tokoku.com maka akan dialihkan ke www.tokoku.com
RewriteEngine on
RewriteCond %{HTTP_HOST}
^tokoku\.com$ [NC]
RewriteRule ^(.*) http://www.tokoku.com/$1
[L,R=301]
PERHATIAN: Bila Anda sudah memiliki file .htaccess dengan konfigurasi yang lain maka Anda cukup masukkan baris ke-2 dan ke-3 di bawah bagaian RewriteEngine on
Password folder
Silahkan buat .htaccess di direktori yang ingin diprotek. Kalau ingin memprotek dari http://SITENAME/ (dari halaman depan), maka taruh file .htaccess di /s/SITENAME/www/. Isi file ini sbb:
AuthName "sembarang nama, sebagai contoh: area terlarang!"
AuthType basic
AuthUserFile /s/SITENAME/www/.htpasswd
require valid-user
(tentu saja SITENAME diganti dengan nama situs yang sebetulnya). Setelah itu, buatlah .htpasswd dari shell dengan perintah:
htpasswd -c /s/SITENAME/www/.htpasswd NAMAUSERWEB
di mana NAMAUSERWEB diganti yang sebenarnya, mis: snoopy. Lalu akan ditanya password. Lalu coba sekarang refresh http://SITENAME/ maka akan muncul kotak dialog password.
Menyembunyikan Isi Direktori
Jika ingin isi suatu direktori tidak ingin ditampilkan tambahkan baris di .htaccess
IndexIgnore *
Jika ingin menyembunyikan file tertentu saja, misal header.html dan readme.html (pisahkan tiap nama file dengan spasi).
IndexIgnore header.html readme.html
*Sumber :
Tidak ada komentar:
Posting Komentar