Mempercantik Tampilan URL

Kali ini membahas bagaimana mempersingkat penulisan URL pada website, sehingga terlihat lebih rapi dan manusiawi


Jum'at Pon, 10 Juni 2005

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)

Daftar Komentar

r+r

-gak ngaku-  Selasa Legi, 11 Oktober 2005
tretetet...

ipeh

ipeh@...  Senin Pahing, 15 Mei 2006
bahasa di atas masuk dalam kategori apa?


URL: https://bengkelprogram.com/data-artikel-103.0.bps