URL Rewriting, Agar URL Terlihat Cantik dan Mudah Diingat
Buat Anda yang mungkin sudah lama mendalami duni per-website-an mungkin mod_rewrite bukanlah hal yang asing.
pernahkan Anda melihat bentuk url pada sebuah website yang enak dipandang dan terstruktur rapi?. Misalnya, http://www.blog.arieweb.net/view/8/43/Ping-Websitemu-dengan-Ping-Service.html. Url ini telah dirubah dari bentuk awalnya: http://www.blog.arieweb.net/?open=view&catalogid=8&newsid=43&tit=Ping-Websitemu-dengan-Ping-Service. Tujuannya adalah agar website yang kita buat mudah dibaca dan di-indeks oleh search engine.
Nah, topik kali ini kita akan membahas tentang bagaimana cara merubah bentuk url tersebut di atas dengan module mod_rewrite.
pertama, load module mod_rewrite di package PHP Anda (xampp, phptriad, dll) dengan cara membuka file httpd.conf di folder apache dengan menggunakan netepad. kemudian cari line :
#LoadModule rewrite_module modules/mod_rewrite.so
hapus tanda # agar menjadi
LoadModule rewrite_module modules/mod_rewrite.so
Jika penggunaan mod-rewrite juga ingin digunakan pula di .htaccess, pastikan agar setting AllowOverride untuk direktori web. Caranya copy script dibawah ini.
AllowOverride Options
# atau ...
# AllowOverride All
save file, kemudian restart apachenya. Sekarang kita sudah bisa menjalankan mod_rewrite di windows kita.
untuk menjalankan mod_rewrite, di folder yang berisi halaman web kita, kita buat file dengan nama .htaccess. mod rewrite harus selalu diawali dengan perintah :
RewriteEngine On
RewriteRule ...
Penulisan mod_rewrite harus diapit oleh <Ifmodule> dan </Ifmodule>. Fungsi diatas adalah untuk mencegah terjadinya pesan kesalahan "500 Internal Server Error" saat page request.
Kemudian kita buat peraturannya. Contohnya :
RewriteRule ^([a-zA-Z]+)/?$ index.php?page=$1
untuk membuat rule baru, kita tulis RewriteRule. kemudian, kita gunakan tanda ^ untuk memulai rule tersebut.
([a-zA-Z]+) berarti membatasi agar karakter yang diterima hanya berupa huruf a sampai z baik itu huruf besar atau bukan.
Tanda + berarti karakter tersebut boleh lebih dari 1.
Tanda /?$ adalah akhir dari rule tersebut.
Sebenarnya kita cukup menuliskan /$ tanpa tanda ? tapi apabila user memasukkan url misalnya: http://arieweb.net/about maka browser akan merespon dengan error karena tidak ada tanda / di akhir url. dengan menambahkan ? di rule kita tadi, maka kita mengijinkan url tanpa / di akhirannya.
Tapi menggunakan / di akhir url, kekurangannya adalah, semua file yang direfer dari luar misal img, css, script dll, maka harus menggunakan absolute url. jadi jika ada referer berbentuk seperti ini : <img src="./img/pict.jpg" alt=""> harus diganti jadi :<img src="http://domainkamu.com/img/pict.jpg" alt="">
selanjutnya, kita tinggal memberi kondisinya, yaitu index.php?page=$1. Jadi apabila ada user menuliskan : http://domain.com/about/ maka mod_rewrite akan mengubahnya menjadi http://arieweb.net/index.php?open=about (di background tentunya).
begitu juga dengan rule yang lebih panjang seperti :
RewriteRule ^([a-zA-Z]+)/([0-9-]+)/([a-zA-Z]+)/?$ index.php?open=$1&catalogid=$2&id=$3
yang akan mengganti
http://arieweb.net/view/8/43/ menjadi http://arieweb.net/index.php?open=view&catalogid=8&newsid=43
Selamat mencoba!
gan tau script PHP untuk merubah URL homepage browser gak??
btw trims atas ulasannya
- by: syifaul jinan -- at: 29/03/2013
- by: Aldy -- at: 21/03/2013
- by: Permana -- at: 10/03/2013
- by: Rudy Hermawan -- at: 17/02/2013
- by: idho sumen -- at: 10/02/2013
- by: Bamz SEO -- at: 01/02/2013
- by: sodonk -- at: 17/01/2013
- by: melinda sri ratu -- at: 07/01/2013
- by: Topan Setiawan -- at: 03/01/2013
- by: Cipto Junaedy -- at: 02/01/2013


Tag: 




search aja di google gan.