File .htaccess dapat digunakan antara lain untuk :
1. Custom HTTP Error
Pesan error pada sebuah website sangat penting karena bisa membantu para
pengunjung dalam mengetahui apa yang sedang terjadi. Dengan htaccess kita dapat
mengubah halaman error pada server, dengan mendefinisikan sesuai dengan
keinginan kita sendiri. Contohnya yaitu pengalihan pesan sesuai fungsinya
seperti berikut :
ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
2. Override SSI Settings
Secara default, hanya halaman web yang mempunyai extensi .shtml yang bisa
menjalankan server-side termasuk SSI di server. Dengan menggunakan .htaccess
kita dapat mengubah setting default tersebut agar SSI bisa bekerja dengan
format HTML.
Untuk mengubah pengaturan tersebut, kita dapat menambahkan kode berikut di
file .htaccess
AddType text/html .html
AddHandler server-parsed .html
Jika kita menginginkan halaman yang berekstensi .html dan .htm untuk dapat
menjalankan SSI, maka file .htaccess dapat ditambahkan kode berikut
AddType text/html .html
AddHandler server-parsed .html
AddHandler server-parsed .htm
3. Change Default Home Page
artinya bahwa file .htaccess dapat digunakan untuk mengubah nama default
halaman depan web. Agar user bisa mengakses website kita hanya dengan nama
domain saja (http://www.nama_web.com)
tanpa harus menulis nama file secara jelas (http:www.nama_web.com/file.html),
kita harus mempunyai file index di root direktori. 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. Jika kita punya index.cgi
& index.html di root direktori maka server akan menampilkan index.cgi
karena .cgi memiliki tingkatan yang lebih tinggi daripada .html
Dengan .htaccess, kita bisa mendefinisikan file index tambahan atau bisa
juga mengubah urutan tingkatannya. Untuk mendefinisikan mainpage.html sebagai
halaman index, kita dapat menambahkan kode berikut ke file .htaccess
DirectoryIndex mainpage.html
Hal ini akan membuat server mencari file bernama mainpage.html. Jika server
menemukannya maka server akan menampilkannya. Tapi bila tidak, maka server akan
menampilkan error 404 Missing Page
Untuk mengubah urutan tingkatan, kita dapat memasukkan perintah DirectoryIndex
dengan nama-nama file dalam satu baris. Urutan penulisan file tersebut
menentukan urutan tingkatan, contohnya:
DirectoryIndex mainpage.html index.cgi index.php index.html
4. Enable Directory Browsing
Untuk alasan keamanan, server Apache biasanya 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 kita memasukkan sebuah UR yang tidak mempunyai halaman
index seperti misalnya http://domainanda.com/images/,
maka browser akan menampilkan daftar images di dalam direktori tersebut
5. Block Users from Accessing Your Web Site
Jika kita menginginkan mem-blok access untuk beberapa user, dimana kita
mengetahui IP / domainname yang digunakannya, kita dapat menambahkan kode
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
berasal dari AOL.com akan diblok. Jika mereka mencoba mengakses website kita,
maka akan tampil error 403 Forbidden (”You do not have permission to access
this site”)
6. Redirect Visitors to a New Page or Directory
Misalkan kita membuat ulang seluruh website kita, 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 kita adalah oldpage.html dan
halaman baru adalah newpage.html maka perintahnya adalah:
Redirect permanent /oldpage.html http://www.mydomain.com/newpage.htm
Jika kita me-rename (mengganti nama) direktori, maka perintahnya adalah:
Redirect permanent /olddirectory http://www.mydomain.com/newdirect
Perhatikan bahwa nama direktori yang lama ditulis dengan relative path,
sementara yang baru ditulis dengan URL absolut
7. Prevent Hot Linking and Bandwidth Leeching
Untuk mencegah orang lain me-link secara langsung ke direktori image anda
dari website mereka, biasanya ada orang mengambil gambar dari website kita,
tapi tetap menggunakan link diserver host kita, ini tentu akan merugikan bagi
kita karena dapat mengurangi bandwith di hosting kita, untuk mengatasi hal ini
kita dapat menambahkan kode berikut:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?namadomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Perintah tersebut akan membuat direktori image hanya bisa diakses bila user
sedang mengakses www.namadomain.com
Jika kita merasa jengkel, kita bisa membuat sebuah image alternatif bila
direktori image di-link oleh orang lain. Contohnya kita membuat image
alternatif dengan nama nogambar.gif yang bertuliskan: “Gambar dr web lain …
kunjungi http://namadomain.com
untuk melihat gambar sebenarnya.” Maka kita dapat menambahkan kode berikut:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/dontsteal.gif [R,L]
8. Prevent viewing of .htaccess or other files
Untuk mencegah user mengakses file .htaccess, ketikkan perintah:
order allow,deny
deny from all
9. Rewriting URLs
Agar kita dapat melakukan pengaturan pada permalink kita agar lebih SEO
friendly kita dapat menambahkan kode berikut ini:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
10. MIME types
Memerintahkan server untuk mengenali jenis file-file yang belum didaftarkan
dalam sistem server. Contohnya :
AddType
application/octet-stream .doc
.xls .pdf
11. Cache Control
htaccess bisa mengendalikan caching pada web browser sehingga dapat
mengurangi penggunaan bandwidth atau aktivitas yang ada didalam server.
Contohnya :
# 480 weeks
Header set Cache-Control
"max-age=290304000, public"
# 2 DAYS
Header set Cache-Control
"max-age=172800, public, must-revalidate"
# 2 HOURS
Header set Cache-Control
"max-age=7200, must-revalidate"
Dari beberapa kegunaan dari file .htaccess diatas, kita dapat kembangkan
sesuai dengan kebutuhan kita.
Contoh penerapan htaccess pada php bisa anda baca pada tutorial Membuat
clean url dengan php
Semoga bermanfaat
You really make it seem so easy with your presentation but I find this
ReplyDeletematter to be actually something that I think I would never
understand. It seems too complicated and very broad for me.
I'm looking forward for your next post, I will try to get the hang of it!
Here is my web site - スワンズ サングラス
Good day! Do you know if they make any plugins to assist
ReplyDeletewith Search Engine Optimization? I'm trying to get my
blog to rank for some targeted keywords but I'm not seeing very good success.
If you know of any please share. Many thanks!
Also visit my page; home design ideas; www.homeimprovementdaily.com,