Trik membuat Clean Url tanpa URL Rewrite

Clean Url adalah mengubah tampilan url agar lebih user friendly (sehingga mudah dikenali oleh search engine). Contoh situs yang menggunakan clean URl adalah http://ketawa.com, http://tamanmini.com, kebanyakan blog yang mengunakan wordpress, dll. Contoh Clean Url adalah seperti ini:
http://blog.phpug.or.id/2006/09/07/belajar-php-cara-mudah-cepat/
http://ketawa.com/tampil.php/id/3267/Kewan_Opo/
http://www.tamanmini.com/museum/serangga/peta

Ketiga contoh diatas menggunakan Clean Url, dan ketiga situs tersebut menggunakan cara yang berbeda untuk membuat clean Url. Situs blog.phpug.or.id menggunakan URL Rewrite (fasilitas dari apache), sedangkan ketawa.com menggunakan script php untuk memparsing & memproses. Dan situs taman mini menggabungkan kedua cara diatas (Class ini dibuat oleh Master Huda dan dipublish di http://www.phpclasses.org/browse/package/1943.html).
Dalam trik ini, saya hanya akan membahas mengenai cara yang kedua.
Kita mulai langkah-langkahnya:
- Pertama dalam file php kita (dalam contoh tampil.php) kita harus membuat parser dari setiap request. Contohnya seperti dibawah ini:
    // mengambil URL nya (hasil: /tampil.php/id/3267/Kewan_Opo/)
    $url = $_SERVER['REQUEST_URI'];
    // Extract URL menjadi array variabel
    // (hasil: [0]=>tampil.php, [1]=>id, [2]=>3267, [3]=>Kewan_Opo)
    $res = Extracting($url);
Fungsi extract nya adalah sebagai berikut:
    function Extracting($data) {
        $res = explode('/', $data);

        for ($i=0;$i < count($res);$i++) {
            if (eregi("[a-zA-Z0-9]+",$res[$i]))
                $arrData[$i] = $res[$i];
            else
                $arrData[$i] = "";
        }

        //geser array ke kiri (karena menghasilkan tanda /)
        array_shift($arrData);
        return $arrData;
    }
- Setelah mendapatkan array dari url, maka kita tinggal mengolah variabel.
Misalnya:
    // fungsi buatan untuk mengambil data dari database dengan parameter ID
    $data = RetrieveRow($arrData[2]);
    // fungsi buatan untuk generate kode htm dari data yang dimasukkan.
    PrintIntoHtml($data);
- Karena webserver menganggap clean url tersebut sebagai folder-folder, maka kita harus menyesuaikannya waktu memanggil images/css pada tag html nya.
Contoh:
URL: http://ketawa.com/tampil.php/id/3267/Kewan_Opo/
Dan gambar yang harus ditampilkan ada di http://ketawa.com/images/header.gif.
HTML Code biasa:
    <img src="images/header.gif" alt="header">
HTML Code untuk clean url:
    <img src="/images/header.gif" alt="header">
Sepertinya cukup ini saja, kalau ada yang terlewatkan silahkan dikoreksi. Bagi yang belum pernah mencoba, silahkan dicoba dan mudah-mudahan bermanfaat bagi Anda.

0 komentar:

Poskan Komentar

About Me

Foto Saya
liza ikrima Fauzi
Lihat profil lengkapku