Cara membuat url cantik dengan rewrite_url apache dan htaccess

Bagaimana cara melalukan modifikasi alamat url supaya terlihat lebih bagus ? Pada tutorial kali ini kami akan membuat salah satu cara melakukan modifikasi alamat url dengan menggunakan htacess dan mod_rewrite pada apache.

 

MOD_REWRITE merupakan modul apache yang bisa kita aktifkan atau non aktifkan dengan cara melakukan edit pada file httpd.conf pada direkstory Apache. Untuk mengetahui apakah mod_rewrite sudah aktif pada komputer kita atau belum, kita bisa melakukan via phpinfo(), kemudian akan kita dapati pesan sepeti pada gambar dibawah ini.


mod_rewrite

Setelah mod_rewrite aktif pada server kita, langkah selanjutnya adalah membuat file .htaccess. Adapu isi dari file .htacess kita adalah seperti berikut :

RewriteEngine on
RewriteCond $1 !^(index\.php|images)
RewriteRule ^(.*)$ /mki/index.php?$1 [L]

 

Rewrite URL adalah metode pengarah alamat url ke alamat tertentu, jadi dalam hal ini htaccess akan mengarahkan alamat url yang diketik pada browser ke alamat script tertentu. Mungkin ada yang mengira bahwasannya alamat url kita secara otomatis akan merubah menjadi cantik dengan menerapkan metode rewrite url. Alamat url pada browser akan tetap seperti apa yang kita ketik, sehingga kita pun harus menyusun sendiri bentuk alamat url kita supaya terlihat lebih bagus. Contoh url yang bagus seperti terlihat dibawah ini:

	http://localhost/mki/berita-1-judul_berita

akan di arahkan ke script index menjadi :

	http://localhost/mki/index.php/berita-1-judul_berita

Apa buktinya bahwasannya htaccess telah mengarahkan alamat url ke alamat seperti diatas ? Cobalah menghapus file .htaccess yang ada, maka alamat url http://localhost/mki/berita-1-judul_berita tidak akan dapat berjalan, alias 404

 

Tidak lengkap rasanya kalau apa yang kita bahas tidak dilengkapi dengan contoh scriptnya, mari kita perhatikan contoh dibawah ini:

1. Membuat script .htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|images)
RewriteRule ^(.*)$ /mki/index.php?$1 [L]

Hal yang perlu diperhatikan dari script .htaccess diatas adalah lokasi folder tempat kita menyimpan script - script tutorial ini, dalam hal ini nama foldernya adalah mki. Dimana script nantinya akan kita akses dengan alamat http://localhost/mki

2. Membuat script koneksi.php

<?php
$db_host	= 'localhost';
$db_usn		= 'root';
$db_pwd		= 'kutukupret';
$db_name	= 'tutorial';
$conn = mysql_connect($db_host,$db_usn,$db_pwd);
$db	  = mysql_select_db($db_name,$conn);	
?>

3. Membuat script index.php

Script index.php merupakan script yang akan mengatur script - script mana saja yang nantinya akan di tampilkan kepada pembaca

<?php
include('koneksi.php');
$url   = $_SERVER['QUERY_STRING'];
// contoh hasil QUERY_STRING 
// berita-1-judul_beritanya
$pecah = explode('-',$url);
$page  = $pecah[0];
$id	   = $pecah[1];
switch($page){
	case 'berita':
		include 'module/berita.php';
		break;
		
	case 'contact':
		include 'module/contact.php';
		break;
	
	default:
		include 'module/notfound.php';
		break;
}
?>

Pada contoh diatas, script index.php menjadi penentu modul apa saja nantinya yang akan ditampilkan sesuai dengan permintaan user. Script index.php bisa kita modifikasi sedemikian rupa sehingga bisa menerima input dengan bentuk url asli atau dengan url yang sudah dimodifikasi dengan htaccess.

4. Membuat script berita.php

Script berita.php ini akan kita gunakan sebagai simulasi dalam mengimplemtasikan contoh rewrite url seperti yang telah kita bahas pada contoh diatas

<?php
if(is_numeric($id)){
	//Baca Posting jika url mengandung variabel ID yang numeric
	$query = mysql_query('select * from berita where BID="'.$id.'"');
	$data  = mysql_fetch_array($query);
	echo '<h1>'.$data['Judul'].'</h1>';
	echo $data['Isi'];
	echo '<p>'.$data['Penulis'].' / '.$data['Tanggal'].' <a href="berita">« Kembali</a></p>';
}
else{
	//Menampilkan Semua Posting
	$query = mysql_query('select * from berita ');
	echo '<ul>';
	while($data=mysql_fetch_array($query)){
		$slug = str_replace(' ','_',$data['Judul']);
		echo '<li><a href="berita-'.$data['BID'].'-'.strtolower($slug).'">'.$data['Judul'].'</a></li>';
	}
	echo '</ul>';
}
?>

Script diatas membutuhkan data yang terdapat dalam database, adapun struktur databasenya dapat anda lihat pada contoh script yang bisa anda download pada link download dibawah.

Setelah mengikuti langkah - langkah diatas dengan benar, cobalah simpan dan jalankan script dengan mengakses alamat berikut:

http://localhost/mki
http://localhost/mki/berita
http://localhost/mki/contact
http://localhost/mki/sembarang_text

Jika pada link berita menampilkan beberapa berita, cobalah klik pada link judul beritanya dan perhatikan seperti apa alamat url pada browser

Jika browser menampilkan pesan :

Internal server ERROR dan seterusnya, maka coba periksa kembali apakah mod_rewrite sudah aktif pada apache atau belum, kemungkinan lainnya adalah setting pada script htaccess kita belum sudah sesuai dengan alamat folder script kita. Untuk lebih simplenya, coba dulu simpan script sesuai contoh dari kami yaitu pada folder mki dalam direktori web server, sehingga kita bisa mengakses seperti pada contoh diatas. http://localhost/mki

Sekian dulu tutorial kali ini, selamat mencoba dan semoga tutorial kami bisa bermanfaat untuk pembelajaran kita. Jangan lupa klik LIKE atau SHARE untuk menyebar luaskan tutorial ini pada pembaca lainnya.

Download Script Clean URL

 


Komentar pembaca

Adisbagaimana kalau saya ingin membuat url seperti berikut: website.com/index.php?p=blogposting pada :2013-12-20 09:26:58
Pasar LokalTerima Kasih infonya. Sangat bermanfaatposting pada :2014-02-03 16:01:31
kinoyGimana caranya kita tau kalau hosting kita sudah terinstal apace server,,,masih bingung nihposting pada :2014-03-26 14:24:44
AdminSdr kinoy, Web hosting kita sudah pasti terinstall web server, akan tetapi belum tentu menggunakan Apache, bisa jadi menggunakan web server lain seperti Litespeed web server. Tidak masalah menggunakan web server jenis Apache atau Litespeed, yang penting support dengan script website kita. Adapun cara mudah untuk mengetahui apa jenis webserver yang digunakan pada hosting kita, mudah saja kita ketik alamat domain kita dengan ditambahkan path yang acak, selanjutnya browser akan menampilkan pesan NOT FOUND sekaligus nama web servernya. contoh : http://alamatkita.com/alamat_sembarangan.htmlposting pada :2014-03-28 12:40:05
AndrePak mau nanya ,gimana ya caranya mengubah project/category.php?id=1 agar menjadi lbh friendly ? Yg dimana data akan dijadikan link secara langsung berdasarkan pemanggilan parameter id dan dipecah lagi untuk page project/subcategory.php?id=1posting pada :2014-03-29 22:43:19
XdarenRibet ya, kok jauh dengan caraku cek http://xdaren.biz/post/htaccess posting pada :2014-07-19 14:16:51
Randi Andriomakasih tutorial nyaposting pada :2014-09-23 09:03:50
penggemarpempekMantap ganposting pada :2014-10-05 23:23:57
TatangTerima Kasih Juragan !posting pada :2014-11-21 02:06:06
dede iskandarterimakasih gan atas tutorialnya ,gan saya mau nanya kalau yang penggunaan case ,itu untuk mengincludekan atau mengambil nilai ,nah yang ane mau tanyakan , bagai mana jika halaman yang di pengggil atau di includekan itu terdapat peging halaman ,dan untuk link pagingnya gimana ? terimasksih ya gan.posting pada :2014-11-21 18:55:34
pandji asmoroterima kasih banyk ganposting pada :2015-04-20 23:55:12
wisnuBagaimana ya mengatasi permasalahan error 500 kalau htaccess dipasang di subdomain? Terimakasihposting pada :2015-08-07 11:12:31
hurinetgan mau tanya nih gmana cara membuat url ke www menggunakan htaccess ..????posting pada :2016-01-18 21:46:58
DEDIPURDWIYONOkenapa emailnya nggak dipakai/salah padahal masih aktip digunakanposting pada :2016-05-31 19:07:54
SandTks gan, tap kenapa file css gak ke baca kalo pake kode diatas ? Mohon di bantu....posting pada :2016-08-24 08:17:49
udugs88mau tanya gan,, kalau ingin membuat permalik double kata pertama kayak kategori gimana Contoh : judul artikel : membaca buku harian permalik biasanya : http://blogane.com/membaca-buku-harian ingin merubah permalinknya seperti ini http://blogane.com/membaca/membaca-buku-harian hasil judulnya tetap seperti ini : membaca buku harian mohon pencerahanposting pada :2016-09-10 09:28:27
Deir SetiawanJazakallohu Khair... ^_^posting pada :2017-05-30 10:00:20
ariijin download mas script/poject nya.posting pada :2017-09-15 13:49:56
SEPTIAN ADI PUTRATerimakasih ilmunya ganposting pada :2018-01-31 15:04:46
NarkoBermanfaat ganposting pada :2018-07-30 07:00:00