Dulu banget waktu masih newbie belajar tentang HTML, saya banyak mengunjungi situs-situs tutorial seperti about.com. Contoh URL tutorialnya itu seperti ini nih bentuknya:
http://php.about.com/od/learnphp/p/learn_php_free.htmMelihat bentuk url yang seperti itu, saya pikir isi server about.com rumit banget. Tutorialnya kan ada banyak. Berarti mereka rajin sekali ya.. membuat halaman html sebanyak itu dalam folder-folder sebanyak itu. Belum lagi kalau desainnya berubah. Wah. Kalau ada 1000 halaman tutorial, berarti mereka mesti meng-update 1000 file dalam sehari sekaligus. Haha :D. Tapi ya saya maklumi saja. Namanya juga situs gede. Pasti sudah punya modal hostingan gede pula untuk menampung ribuan halaman HTML (berpikir polos mode on ^^).
http://php.about.com/od/phpbasics/p/database_links.htm
Tapi sejak 3 tahun yang lalu (huyuh.. telat banget) saya baru nyadar kalo 'halaman-halaman HTML' itu aslinya halaman dinamis (ASP atau PHP) yang di mod rewrite. ^^
Bentuk mudahnya mungkin seperti ini:
http://www.domain.com/article.php?title=hello-world
menjadi
http://www.domain.com/hello-world.html
atau dari
http://www.domain.com/article.php?title=hello-world&category=uncategorized
menjadi
http://www.domain.com/uncategorized/hello-world.html
Intinya, dengan mod rewrite, kita bebas menentukan format bagaimana bentuk url itu jadinya.
Kebanyakan blog dan situs-situs besar biasanya memasang judul artikel (atau judul produk jika jenis websitenya e-commerce) sebagai URLnya.
Ada banyak tutorial di internet yang membahas tentang mod rewrite. Disini saya coba uraikan cara membuat mod rewrite yang menurut saya paling mudah dan paling sering saya pakai.
Sebagai study case, mari kita membuat mod rewrite untuk halaman detail sebuah portal berita yang (misalnya) anda punya.
First of all, anggaplah kita sudah mempunyai database yang menampung berita-berita yang akan ditampilkan. Asumsikan bahwa kita akan menampilkan berita-berita tersebut melalui sebuah halaman PHP yang bernama berita.php.
Jika biasanya berita ditampilkan dalam bentuk URL berikut:
http://www.situsberita.com/berita.php?judul=jakarta-heboh-kebanjiran-lagi&kategori=bencana-alam
maka kali ini kita ingin supaya format berita tampil dengan url berikut:
http://www.situsberita.com/bencana-alam/jakarta-heboh-banjir-lagi.html
Langkah-langkahnya yaitu:
- mula-mula, buka hostingan situs berita tsb dengan ftp atau file manager.
- download file .htaccess dari folder public_html (atau www)
- Edit file tersebut dengan text editor favorit. Saya biasanya pakai notepad++ :)
- Tambahkan script berikut kedalamnya.
RewriteEngine on
RewriteBase /home/user/public_html/
RewriteRule ^(.*)/(.*).html /berita.php?judul=$1&kategori=$2
note: modify path pada baris ke 3. Pada baris ke 4, format url yang diinginkan berada di sebelah kiri (diawali dengan ^), sedangkan format url yang sebenarnya berada di sebelah kanan (diawali dengan /). Kiri dan kanan dipisahkan dengan satu spasi. $1 untuk memanggil nilai wildcard(.*) yang pertama, sedangkan $2 untuk memanggil (.*) yang kedua, dst. Jika ingin menambahkan rule baru, tambahkan saja langsung di bawahnya lagi tanpa harus mengulang baris 1-3.
- Save
- upload lagi (overwrite)
Sudah selesai :). Silakan buka internet browser anda, dan ketik langsung URL dengan format berikut di address bar:
http://www.situsberita.com/nama-kategori/judul-berita.html
Nah. Mudah-mudahan sukses. Selebihnya tinggal tugas anda untuk merubah nilai href didalam tag <a> di seluruh bagian situs tersebut supaya urlnya menggunakan alamat baru. Jangan lupa di urlencode() dulu. Selanjutnya dipanggil dengan urldecode().
Penggunaan mod rewrite membantu menaikkan posisi situs anda pada search engine. Karena itu, banyak pakar SEO yang mengharuskan penggunaan mod rewrite ini pada setiap situs.
Problem:
- Adapun jika terjadi 500 internal server error, itu berarti terjadi kesalahan pada penulisan mod rewrite pada file .htaccess.
Semoga bermanfaat
1 comments:
Bagaimana membuat url dibelakang filenya tidak memakai extensi file contoh http://url/file.html menjadi http://url/file terima kasih...
Tolong balas ke email saya noe@noe.dnsalias.net
Post a Comment
Post a Comment