Belajar Membuat Clean URL dengan htaccess

URL yang bersih ‘Clean URL’ diperlukan agar mesin pencari dapat menjelajahi website Anda dengan mudah dan cepat. Mesin pencari biasanya akan menghindari URL yang berantakan karena identik dengan sistem pengkodean yang buruk. Mesin pencari bisa jadi akan terjebak dalam mengindeks pada halaman yang sama secara berulang-ulang.

Untuk membedakan mana clean URL dan mana yang merupakan URL yang buruk, misalnya terdapat URL http://www.contoh.com/artikel dan URL http://www.contoh.com/index.php?kategori=artikel. Kedua URL tersebut memiliki halaman dan konten yang sama. Namun URL yang pertama dapat dikatakan sebagai URL yang bersih ‘Clean URL’ dibandingkan URL yang kedua. URL kedua terlihat berantakan walaupun merupakan URL yang sama dengan URL pertama.

Membuat Clean URL dengan htaccess

Memiliki URL yang bersih memiliki banyak keuntungan, seperti URL tersebut mudah untuk diingat. URL terlihat lebih indah dan simpel sehingga lebih mudah jika dijadikan link rujukan oleh website lain. URL akan terlihat lebih singkat dan padat, tanpa menggunakan berbagai parameter yang dilewatkan pada URL.

Untuk membuat URL yang bersih, diperlukan sebuah file .htaccess. File .htaccess berjalan pada server yang menggunakan server Apache. Perinsip dari clean URL adalah dengan melakukan re-direct halaman, jika ditemukan URL yang memiliki kecocokan pola.

1.  RewriteEngine On
2.  
3.  #clean URL
4.  RewriteRule ^artikel$ index.php?kategori=artikel [L]
5.  RewriteRule ^artikel/([a-zA-Z0-9]+)$ index.php?kategori=artikel&judul=$1 [L]

RewriteEngine On merupakan code untuk memberitahukan pada server agar mengaktifkan mode mod_rewrite. Tanda ^(caret) dapat diartikan sebagai nama websitenya misalnya ‘www.contoh.com/’, artikel setelah tanda ^caret diartikan sebagai kata lanjutan dari nama website. Tanda dollar $ diartikan sebagai akhir dari Clean URL. Kode setelah tanda dollar $, merupakan URL asli sebagai halaman tujuan redirect. Tanda [L] diartikan sebagai jika ditemukan, langsung mengeksekusi dan berhenti di baris tersebut tanpa melakukan eksekusi terhadap kode di depannya.
Kode no-4 artinya, jika ditemukan URL www.contoh.com/artikel akan melakukan redirect ke halaman index.php?kategori=artikel.

Pada kode no-5, hampir sama dengan kode no-4, namun URL asli memiliki dua parameter yang dilewatkan lewat URL yaitu kategori dan judul. Perhatikan pada kode ([a-zA-Z0-9]+). Kode ini merupakan isi parameter yang dilewatkan. a-z jika parameter hanya berisi huruf kecil a-z, A-Z jika parameter hanya berisi huruf besar A-Z, 0-9 jika parameter hanya berisi karakter angka 0-9. Jika parameter yang dilewatkan tidak tentu jenis karakternya dapat menggunakan (.*)

URL absolut dan URL Relatif

Penggunaan file .htaccess akan menimbulkan konsekuensi tersendiri pada halaman yang bersangkutan. Misalnya gambar / images yang seharusnya tampil menjadi hilang dan tidak bisa ditampilkan lagi karena atribut ‘src’-nya berubah. Permasalahan yang sama juga terjadi jika menggunakan file CSS ataupun Javascript dengan link acuan dari luar halaman karena atribut link ‘href’-nya berubah.

Untuk menghindari hal ini, Anda dapat menggunakan tags <base> dengan URL absolute yang akan dijadikan acuan. Misalnya <base href=”http://www.contoh.com/artikel”>. URL tersebut nantinya akan dijadikan sebagai URL base/ URL patokan pada tags lainnya yang masih menggunakan URL relatif.

Cara lain yang bisa diterapkan adalah menggunakan URL absolute pada setiap tags yang menggunakan URL sebagai sumber maupun referensinya. Misalnya <img src=”images/happy.png”> menjadi <img src=”http://www.contoh.com/images/happy.png”>. Pada file Javascript yang menggunakan file eksternal sebagai file sumbernya <script src=”js/jquery-1.10.2.min.js”></script> menjadi <script src=”http://www.contoh.com/js/jquery-1.10.2.min.js”></script>

Leave a Comment