Sabtu, 26 Juli 2008

Kupas Tuntas .htaccess

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/ atau http://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

Berguna untuk "melemparkan" pengunjung ke halaman atau website lain.

Redirect / http://sitetujuan

Command diatas akan mengarahkan URL yang kita akses ke URL site tujuan.

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



Memproteksi listing directory

Melarang/menutup direktori index apache

Cara normalnya adalah menaruh:

Options -Indexes

Di .htaccess. Akan tetapi karena cara ini dilarang di tempat hosting kita (direktif Options didisable di .htaccess karena berbahaya), maka alternatifnya adalah:

a) Selalu menaruh index.html, index.shtml, dsb di tiap direktori yang ingin ditutup.

tentu saja, cara ini merepotkan.

b) Menggunakan IndexIgnore. Di .htaccess beri perintah:

IndexIgnore *

Sehingga walaupun halaman index tetap muncul, file-filenya tidak terlihat.

c) Menggunakan RedirectMatch. Di .htaccess beri perintah:

RedirectMatch /$ /403.html

atau

RedirectMatch /$ /path/ke/file/pesan/403.html

atau

RedirectMatch /$ http://www.website.com/path/ke/file/pesan/403.html

Dimana /403.html atau /path/ke/file/pesan/403.html atau http://www.website.com/path/ke/file/pesan/403.html adalah urlpath/url berisi pesan forbidden misalnya. misalnya, isi file tersebut adalah:

403 Forbidden

atau

Sorry, directory index not allowed!




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.

Contents

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 file manager control panel. Jika menggunakan Spanel, misalnya, masuklah ke menu File Manager, berpindahlah ke document root website Anda, lalu pilihlah Create Text File.

FAQ

Mengapa jika ingin mengakses file .htaccess dari browser, muncul pesan kesalahan 403 Forbidden

File .htaccess dan .htpasswd memang secara default dilarang untuk diakses via HTTP, untuk alasan keamanan.

Mengapa setelah saya menaruh atau mengedit file .htaccess ini, muncul pesan kesalahan 500 Internal Server Error di browser?

Ada kesalahan sintaks perintah di file .htaccess Anda. Silakan cek error log untuk mengetahui persisnya perintah mana yang salah. Jika server hosting menggunakan control panel Spanel, silakan lihat artikel ini untuk mengetahui lokasi error log website Anda.






Tidak ada komentar:

Posting Komentar