Kamis, 13 Desember 2012

Htaccess dengan 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, simaktulisan saya berikut ini.

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 .

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

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 = "http://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>
</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 http://localhost/clean-url. Jika anda mencobanya di internet, bisa menuliskan alamatnya seperti http://www.zainalhakim.web.id/nama-folder.
Langkah kedua (baris ke 2) kita memisah permintaan url yang dikirimkan melalui browser, misal yang diminta : http://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.
* 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.

0 komentar:

Posting Komentar

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | free samples without surveys