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
1
2
3
4
5
6
7
8
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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 Cara membuat Url CantikDengan Rewrite_url Apache Dan Htaccess 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.
0 Komentar untuk " Cara membuat Url Cantik Dengan Rewrite_url Apache Dan Htaccess "