Membuat clean url dengan htaccess dan php

membuat clean url dengan htaccess dan php

Apakah anda sudah pernah mendengar istilah clean url dalam php? Dan apakah sudah mencoba sendiri membuatnya? Jika belum inilah saatnya anda mengetahui dan mencoba menerapkannya dalam php. Apa clean url, keuntunganya serta bagaimana membuatnya, simak tulisan saya berikut ini.

Pengertian Clean URL

Clean url adalah sebuah metode penamaan halaman web dengan cara lebih sederhana, struktural, logis dan terbaca oleh manusia. Dengan struktur penamaan halaman yang baik maka pembaca atau pengguna lebih mudah mengingat apa yang mereka buka. Clean url juga sering dikenal dengan user-friendly URLs atau SEO-friendly URLs yang artinya penamaan yang digunakan sangat mendukung untuk optimalisasi mesin pencari .

Not Clean Url vs Clean Url

Bagaimana kita membedakan mana yang not clean url dengan clean url lihat contoh url berikut :

Halaman web dikatakan Not Clean url jika dibuat seperti berikut :

bukan clean url
Jika kita lihat cara pemanggilan halaman diatas tentunya akan sangat menyulitkan, belum lagi kalo kombinasinya lebih banyak dari itu.

Alamat halaman web dikatakan clean url jika disusun seperti berikut :

contoh clean url dengan php

Beberapa keuntungan menggunakan model clean url yaitu :

  1. Nama file lebih baik dan mudah diingat
  2. Lebih mudah menghubungkan dengan file lainya (link antar halaman)
  3. Memudahkan mesin pencari/search engine melakukan index halaman
  4. Lebih baik dari sisi keamanan

Bagaimana membuat clean url dalam php?

Clean url dalam php bisa dilakukan dengan beberapa cara, diantaranya yaitu dengan murni coding php, ada juga yang dibantu dengan file .htaccess. Jika melakukanya dengan murni php biasanya hasilnya kurang maksimal (masih terlihat melibatkan file utama) contoh : www.zainalhakim.web.id/index.php/artikel/php/12. Berbeda dengan yang menggunakan .htaccess, hasilnya jika kita lihat akan lebih baik dan mudah difahami contoh : www.zainalhakim.web.id/artikel/php/12.

Apa file .htaccess? File htaccess adalah sebuah file konfigurasi sistem yang dijalankan pada web server apache. htaccess ini biasanya diletakkan pada folder utama yang memerlukan konfigurasi tersebut. htaccess tidak memiliki ekstensi/jenis jadi cuman diberi nama dengan ".htaccess" dan diisi dengan konfigurasi web server.

Langkah pertama membuat clean url dengan htaccess dan php adalah membuat file .htaccess dengan isi seperti berikut :

RewriteEngine On
RewriteBase /nama-folder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /nama-folder/index.php [L] 

Contoh lengkap bisa anda download pada bagian akhir tulisan ini. Untuk mengeditnya anda bisa menggunakan notepad atau text editor lainya.

Anda harus mengubah konfigurasi htaccess sesuai dengan letak folder aplikasi php (terlihat pada baris 2 dan 6). Jika anda menjalankan pada sub folder localhost maka kita harus menuliskan nama sub foldernya seperti diatas, dan jika dijalankan pada root folder/folder utama maka baris ke 2 dan 6 diubah menjadi :

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 

Maksud htaccess diatas adalah memusatkan semua permintaan url ke file index.php, sehingga apapun yang diminta maka yang menghandle lebih dulu adalah index.php. Kecuali yang alamat yang diminta memang secara fisik ada folder atau filenya baru index diabaikan. Jika file htaccess sudah siap, sekarang kita membuat coding file phpnya seperti berikut :

<?php
$nama_folder = "https://localhost/clean-url";
$url = explode("/",$_SERVER["REQUEST_URI"]);
$segmen1   = $url[0];
$segmen2   = $url[1];
$segmen3   = $url[2];
$segmen4   = $url[3];
$segmen5   = $url[4];
$segmen6   = $url[5];
?>
<!DOCTYPE html>
<head>
<title>Contoh clean url</title>
<!-- ICON -->
<link rel="icon" href="<?php echo $nama_folder;?>favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo $nama_folder;?>favicon.png" type="image/x-icon" />
<!-- CSS -->
<link href="<?php echo $nama_folder;?>css/style.css" rel="stylesheet" type="text/css" />
<!-- Javascript -->
<script src="<?php echo $nama_folder;?>js/java-tools.js"></script>
</head>
<body>
<h1>Contoh Clean Url dengan PHP</h1>
<p>Contoh Link</p>
<p>
<a href="<?php echo $nama_folder?>/artikel/">Artikel</a> |
<a href="<?php echo $nama_folder?>/berita/">Berita</a> |
<a href="<?php echo $nama_folder?>/galleri/">Galleri</a> |
<a href="<?php echo $nama_folder?>/kontak/">Kontak</a></p>
<?php
switch ($segmen3) { 
case "artikel" : 
	//anda bisa ganti bagian ini dengan perintah lain
	echo "<h2>Anda memilih menu artikel</h2>";
	break; 
case "berita" : 
	//anda bisa ganti bagian ini dengan perintah lain
	echo "<h2>Anda memilih menu berita</h2>";
	break; 
case "galleri" : 
	//anda bisa ganti bagian ini dengan perintah lain
	echo "<h2>Anda memilih menu galleri</h2>";
	break; 
case "kontak" : 
	//anda bisa ganti bagian ini dengan perintah lain
	echo "<h2>Anda memilih menu kontak</h2>";
	break; 
}
?>
<p>writed by <a href="www.zainalhakim.web.id">www.zainalhakim.web.id</a></p>
</body>
</html>

Pada blok awal php, kita definisikan dulu alamat web secara lengkap contoh untuk web yang berada pada https://localhost/clean-url. Jika anda mencobanya di internet, bisa menuliskan alamatnya seperti https://www.zainalhakim.web.id/nama-folder.

Langkah kedua (baris ke 2) kita memisah permintaan url yang dikirimkan melalui browser, misal yang diminta : https://localhots/clean-url/artikel/ maka $_SERVER["REQUEST_URI"] akan bernilai /clean-url/artikel/. Dan pada saat dijalankan baris berikutnya :
$url = explode("/",$_SERVER["REQUEST_URI"]); maka $url akan diberi nilai dalam bentuk array yang kemudian dipecah dalam beberapa variabel diberi nama $segmen1 s/d $segmen6. Variabel segemen ini ditentukan sesuai kedalaman alamat yang kita buat. Nilai masing2 segmen jika sampai 6 maka berisikan :

$segmen1 = 
$segmen2 = clean-url
$segmen3 = artikel
$segmen4 =
$segmen5 =

Sehingga pada blok php berikutnya kita lakukan filter dengan switch pada $segmen3 sebagai kata kunci permintaan. Jika isi segmen3 artikel maka { lakukan proses } dst.

Jangan lupa untuk pemanggilan file-file eksternal harus dengan cara :

<!-- ICON -->
<link rel="icon" href="<?php echo $nama_folder;?>favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo $nama_folder;?>favicon.png" type="image/x-icon" />
<!-- CSS -->
<link href="<?php echo $nama_folder;?>css/style.css" rel="stylesheet" type="text/css" />
<!-- Javascript -->
<script src="<?php echo $nama_folder;?>js/java-tools.js"></script>

Cara diatas berarti semua file eksternal dibuat fix alamatnya walaupun urlnya berubah2 sesuai konten halaman dinamisnya.

* Catatan : posisi segmen akan berubah tergantung alamat/url yang diminta

Silahkan download contoh lengkapnya disini.

Semoga bermanfaat dan bisa memberi inspirasi serta pengetahuan tambahan buat kita semua.

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Membuat database dan tabel mysql dengan php
    Cara umum membuat database dan tabel mysql menggunakan command line di mysql atau dengan alat bantu seperti phpmyadmin atau aplikasi pengelola mysql lainya. Bagaimana jika kita ingin menyusun sendiri proses pembuatan database dan tabel tersebut dengan php? Proses ini akan diperlukan jika kita ingin membuat sebuah paket aplikasi yang dilengkapi dengan tahapan installasi seperti aplikasi CMS.
  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 5
    Melanjutkan artikel saya tentang membuat aplikasi data mahasiswa dengan php, sekarang sedikit saya kembangkan untuk melindungi ruang pengelolaan data mahasiswa dengan sistem login pengguna/user. Ini diperlukan hampir pada tiap aplikasi yang dibangun agar tidak semua orang yang mengakses halaman pengelola bisa langsung melihat atau melakukan perubahan data tanpa proses login terlebih dahulu.
  • Cara Installasi PHP di lingkungan windows
    PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja.
  • Cara upload file dengan PHP Script
    Php memiliki fasilitas untuk mengirimkan file dari komputer pengguna melalui browser ke server sehingga kita tidak perlu lagi aplikasi khusus seperti ftp atau login ke panel hosting hanya untuk sekedar upload file biasa, dokumen, maupun gambar.
  • Mengenal php framework
    Framework dapat diartikan sebagai sebuah kerangka kerja yang digunakan untuk mempermudah penyelesaian sebuah pekerjaan. Jika dikaitkan dengan PHP maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dengan tujuan memudahkan pengembang web dalam menyusun rangkaian proses dengan bahasa pemrograman PHP. Misal dalam membuat sebuah aplikasi web, pengembang harus menuliskan kode program secara berulang dengan kompleksitas tinggi. Hal tersebut tentunya akan sangat mengurangi tingkat efisien waktu serta menguras pikiran bahkan kode yang dihasilkan mungkin saja kurang optimal dari segi penulisan serta proses yang dilakukan dalam program.

Kiriman terbaru