Pengertian File .htaccess (hypertext akses file) adalah
direktori -tingkat file konfigurasi didukung oleh beberapa server web, yang
memungkinkan untuk manajemen desentralisasi konfigurasi server web. Mereka
ditempatkan di dalam pohon web, dan mampu mengesampingkan subset dari konfigurasi
server global untuk direktori yang mereka berada, dan semua sub-direktori.
Tujuan dari .htaccess-nya tercermin dalam nama adalah
untuk memungkinkan kontrol akses per-direktori, dengan misalnya yang
membutuhkan password untuk mengakses konten. Namun saat ini, file .htaccess dapat menimpa banyak
pengaturan konfigurasi lainnya termasuk jenis konten dan set
karakter , CGI handler, dll. Kita ketahui bahwa sebagian
besar hosting web di internet menggunakan Apache sebagai
servernya sehingga bagi para pengelola web / webmaster sedikit banyak harus
belajar tentang .htaccess agar kita bisa mengubah
settingan default dari server.
File .htaccess merupakan file teks ASCII
sederhana yang biasanya diletakkan dalam root direktori. File ini
diharuskan dalam format ASCII dan bukan binary dan untuk
file permission(atribut file) pada server hosting harus
di set 644 (rw-r-r). Hal tersebut dimaksudkan agarserver dapat
mengakses file .htaccess, tapi mencegah user untuk
mengakses file .htaccess dari browser mereka.
File .htaccess yang diletakkan dalam root direktori
dapat digunakan untuk mengubah konfigurasi dari subdirektori-subdirektori yang
ada didalamnya, sehingga dalam satu website biasanya kita cukup untuk mempunyai
1 file .htaccess saja yang diletakkan
dalam root direktori.
Kode perintah dalam file .htaccess harus ditempatkan dalam satu
baris, jadi apabila kita membuat file .htaccess dengan menggunakan text
editor seperti notepad maka kita harus mendisable fungsi word
wrap (memotong baris) terlebih dahulu.
Beberapa hal yang dapat dilakukan
dengan .htaccess yaitu :
- Redirect akses namadomain ke WWW.namadomain
Options +FollowSymlinks
RewriteEngine on
rewritecond
%{http_host} ^domain.com [nc]
rewriterule ^(.*)$
http://www.domain.com/$1 [r=301,nc]
Untuk mengubah nama domain dengan
nama domain anda yang ingin anda setting
- Customize Error Messages
Jika ingin mengubah halaman
error server, dapat menggunakan .htaccess untuk mendefinisikan pesan error anda
sendiri. Contoh syntax nya yaitu :
ErrorDocument 500
/error.html
- Override SSI Settings
Secara default, hanya page dengan
extensi .shtml yang dapat menjalankan server-side termasuk SSI di server. kita
dapat mengubah hal tersebut di file .htaccess, apabila ingin mengubah
konfigurasi tersebut sehingga SSI bisa bekerja dengan dokumen HTML, kita dapat
membuat file.htaccess dan menguploadnya ke direkroti utama www. Tambahkan baris
berikut ke file tsb
AddType text/html .html
AddHandler
server-parsed .html
apabila kita ingin dokumen .html dan .htm untuk
menjalankan SSI, buat file .htaccess dengan tambahan baris berikut :
AddType text/html .html
AddHandler
server-parsed .html
AddHandler
server-parsed .htm
- Change Your Default Home Page
Agar user bisa mengakses site anda
hanya dengan nama domain saja (http://www.site.net) tanpa harus menulis nama
file secara jelas (http:www.site.net/file.html), anda harus mempunyai file
index di direktori www. Nama file yang bisa diterima antara lain index.html,
index.htm, index.cgi, index.php dll. Pastikan bahwa file tsb bernama index.*
Ada tingkatan dalam pemberian nama
tersebut. Apabila mempunya index.cgi & index.html di direktori anda maka
server akan menampilkan index.cgi karena .cgi memiliki tingkatan yang lebih
tinggi daripada .html
Dengan .htaccess, dapat digunakan
untuk mendefinisikan file index tambahan mengubah urutan tingkatannya. Untuk
mendefiniskan hieronymous.html sebagai halaman index, tambahkan baris berikut
ke file .htaccess
DirectoryIndex
hieronymous.html
Hal ini akan membuat server mencari
file bernama hieronymous.html. Jika server menemukannya maka server akan
menampilkannya. Tapi bila tidak, maka server akan menampilkan error 404 Missing
Page
Untuk mengubah urutan tingkatan,
masukkan perintah DirectoryIndex dengan nama-nama file dalam satu baris. Urutan
penulisan file2 tersebut menentukan urutan tingkatan, contohnya:
DirectoryIndex
hieronymous.html index.cgi index.php index.html
- Enable Directory Browsing
Untuk alasan keamanan, kami telah
menghilangkan default setting yang memungkinkan directory indexing. Opsi inilah
yang memungkinkan isi dari direktori untuk ditampilkan di browser jika
direktori tersebut tidak mempunyai halaman index
Contohnya, jika anda membuat sebuah
http call ke direkori seperti http://yourdomain.com/images/,
maka browser akan menampilkan daftar images di dalam direktori tersebut
Jika anda mengingikan opsi ini pada
direktori tertentu, anda bisa mengaktifkannya dengan menambahkan baris berikut
ke file .htaccess
Options +Indexes
- Block Users from Accessing Your Web Site
Jika anda ingin mem-blok access
untuk beberapa individu dan anda mengetahui IP / domain name yang digunakan,
tambahkan baris berikut :
order deny,allow
deny from 123.456.789.000
deny from 456.78.90.
deny from .aol.com
allow from all
Pada contoh di atas, user dg IP
123.456.789.000 akan diblok. Semua user antara 456.78.90.000 sampai
456.78.90.999 akan diblok. Dan semua user yang terhubung dari AOL.com akan diblok.
Jika mereka mencoba mengakses site-mu, maka akan tampil error 403 Forbidden
(“You do not have permission to access this site”)
- Redirect Visitors to a New Page or Directory
Misalkan anda membuat ulang seluruh
websitemu, me-rename halaman & direktori. Maka pengunjung halaman lama akan
mendapat error 404 File Not Found. Masalah tersebut dapat diatasi dengan
melakukan redirect dari halaman lama ke halaman yang baru. Contohnya bila
halaman lama-mu adalah oldpage.html dan halaman baru adalah newpage.html maka
perintahnya adalah:
Redirect permanent
/oldpage.html http://www.mydomain.com/newpage.html
Jika anda me-rename direktori, maka
command-nya adalah:
Redirect permanent
/olddirectory http://www.mydomain.com/newdirectory/
Perhatikan bahwa nama direktori yang lama ditulis
dengan relative path, sementara yang baru ditulis dengan URL absolut
- Prevent Hot Linking and Bandwidth Leeching
Untuk mencegah orang lain me-link
secara langsung ke direktori image anda dari website mereka, gunakan:
RewriteEngine on
RewriteCond
%{HTTP_REFERER} !^$
RewriteCond
%{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule
\.(gif|jpg)$ – [F]
Perintah tersebut akan membuat
direktori image hanya bisa diakses bila user sedang mengakses www.mydomain.com
Jika anda merasa jengkel, anda bisa
membuat sebuah image alternatif bila direktori image-mu di-link. Contohnya
image nosteal.gif yang bertuliskan: “Stealing is Bad … visit
http://mydomain.com to see the real picture that belongs here.” Maka gunakan
perintah:
RewriteEngine on
RewriteCond
%{HTTP_REFERER} !^$
RewriteCond
%{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule
\.(gif|jpg)$ http://www.mydomain.com/dontsteal.gif [R,L]
- Prevent viewing of .htaccess or other files
Untuk mencegah user mengakses file
.htaccess, ketikkan perintah:
order allow,deny
deny from all
Jika ingin mencegah pengaksesan
file lain, ganti nama file .htaccess dengan nama file yang lain
Comments