Hal yang satu ini sering terlewati oleh seorang webdeveloper, contohnya saya. Memang secara langsung tidak ada bedanya, antara URL yang cantik dan yang tidak. Misalnya begini:
http://www.bengkelprogram.com/index.php?hal=berita&id=100 dibandingkan dengan ini http://www.bengkelprogram.com/data-berita-100.html.
Bagi user, yang sukanya klik-klik pada link, tentu tidak ada bedanya. Tapi sebenarnya ada perbedaan mendasar antara contoh 1 dan 2, yaitu:
Ketika anda melihat contoh kedua, mungkin anda berpikir, itu menggunakan halaman statis, karena pakai ekstensi html. Padahal, kalau tau rahasianya, kedua link di atas menunjuk pada target yang sama, atau lebih tepatnya, link kedua merupakan 'alias' dari link pertama.
Jika anda masih ingat sebelumnya, semua link di website
http://www.bengkelprogram.com menggunakan model link yang pertama, dan barusan saya
rubah semua menjadi model link kedua, makanya saya menulis artikel ini. :-)
Sehingga anda bisa masuk kedalam target yang sama, dengan menggunakan salah satu
dari link di atas.
Rahasia yang saya maksudkan disini adalah, file .htaccess
Dalam file konfigurasi Apache tersebut, terdapat fitur RewriteEngine dan RewriteRule pada modul mod_rewrite, yang dapat digunakan untuk mengkontrol link. Jika anda bermaksud merubah model link seperti di atas, silakan buka file .htaccess pada direktori website anda.
Jika belum ada file tersebut, silakan buat, lalu tambahkan baris baru, dengan isi sebagai berikut:
RewriteEngine On
Hal tersebut akan mengaktifkan fitur Rewrite, yang secara default adalah Off.
Selanjutnya, isikan baris berikutnya dengan perintah RegExp seperti ini:
RewriteRule ^data\-([a-z]*)\-([0-9]*).*
index.php?hal=$1&id=$2 [L,NC]
Contoh di atas harus berada dalam satu baris, tapi karena lebar layar gak cukup, makanya saya bagi jadi dua baris :-)
Maksud dari baris di atas adalah, setiap link yang diawali oleh kata 'data',
akan dikenakan aturan ini.
Aturan yang dimaksud adalah, ambil rangkaian karakter setelah tanda '-'
(dash/strip), dan ambil rangkaian angka pada batas '-' sampai tanda titik. Hasil
pengambilan diletakkan pada variabel $1 dan $2. Kemudian link tersebut
diterjemahkan kedalam link baru, yaitu index.php?hal=$1&id=$2.
Untuk parameter [L,NC] saya masih belum tau :-( , belum nemu keterangannya, kalo NC maksudnya No-Case. Yang L saya belum tau, kalo ada yang tau kasih tau saya, ya...
Dari contoh di atas, jika terdapat link dengan bentuk:
http://www.bengkelprogram.com/data-berita-100.html.
maka $1 = berita, dan $2 = 100, sehingga dimasukkan ke dalam format rule tersebut, link akan berubah jadi:
http://www.bengkelprogram.com/index.php?hal=berita&id=100
Selain rule tersebut, pada website www.bengkelprogram.com juga menggunakan RewriteRule yang lain, misalnya:
RewriteRule ^download\-([a-z].+)\.(.*) index.php?hal=download&do=download&nf=$1.$2 [L,NC]
Maka setiap link yang berawalan 'download' akan ditangkap dan diterjemahkan sesuai aturannya, yaitu semua karakter antara tanda '-' dan titik akan diambil, beserta ektensinya, kemudian dirubah menjadi bentuk yang lebih panjang.
Link ini, http://www.bengkelprogram.com/download-epacoder.zip
akan menjadi link:
http://www.bengkelprogram.com/index.php?hal=download&do=download&
nf=epacoder.zip
Beda banget kan? ...
Berikut ini contoh lengkap file .htaccess. Silakan dilihat :-)
Ok, met utak-atik :-)
(Aryo Sanjaya)
tretetet...
bahasa di atas masuk dalam kategori apa?
» MovableType Plugin: SimpleLink (3)Bagi yang suka perhitungan jawa (neptu), akan terbantu dengan menggunakan aplikasi kecil ini
» Google Earth (1)Contoh pembuatan PlugIn untuk MovableType, sebuah Blogger Engine dengan menggunakan pemrograman PERL.
» Desain Table dengan Excel (2)Menjelajahi bumi dan melihat bentuk permukaannya, melihat kota-kota dan gunung-gunung besar
» Tips and Trick Membuat ConnectionString (4)Tips untuk mempermudah dalam melakukan desain tabel melalui Microsoft Excel
Tidak selamanya programmer bisa menghapal ConnectionString. Kalaupun bisa, tentu lebih baik jika ConnectionString disimpan dalam file. Eko Heri membahasnya untuk anda