Rewrite URL htaccess dengan PHP, atau sering juga disebut permalink atau slugs berfungsi untuk mempermudah mesin pencari seperti google untuk menemukan keberadaan website. Tahap pertama, buat file .htaccess yang berisi :

File .htaccess :

RewriteEngine On

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?param1=$1 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?param1=$1&param2=$2 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?param1=$1&param2=$2&param3=$3 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?param1=$1&param2=$2&param3=$3&param4=$4 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?param1=$1&param2=$2&param3=$3&param4=$4&param5=$5 [NC,L]

Penjelasan file .htaccess :

  1. Mengaktifkan fungsi RewriteEngine sehingga URL bisa diterjemahkan
  2. Menampung dari 1(satu) hingga 5(lima) parameter ($param1,$param2,…$param5), yang akan menerjemahkan URL menjadi bentuk variabel yang dapat diakses oleh PHP

Penjelasan parameter :

  • RewriteEngine : untuk mengaktifkan perintah-perintah Rewrite
  • RewriteRule : untuk menerjemahkan pola dalam bahasa regex ke dalam format yang diinginkan.

Untuk menguji-coba file .htaccess di atas, kita buat sebuah file php :

<?php
  for($i;$i<=5;$i++) if(isset($_GET["param$i"])) echo $_GET["param$i"]."<br/>";
?>

Penjelasan file PHP :

  1. Menampilkan parameter $_GET[“param1”],$_GET[“param2”],..$_GET[“param5”] yang sudah diterjemahkan oleh file .htaccess di atas
  2. Untuk menampilkannya, simpan file PHP ini dengan nama index.php dalam folder test pada directory localhost. Lalu akses melalui linkhttp://localhost/test/satu/dua/tiga/empat/lima. Maka akan menampilkan output : satu sampai lima secara berurutan dalam bentuk vertikal

Penjelasan parameter :

  • for : perintah perulangan
  • $_GET : mendapatkan parameter dari URL.

Bayu Kandukeswara

Leave a Reply

Your email address will not be published. Required fields are marked *