URL Rewriting Ala WordPress (Bagian 1)

Melanjutkan tulisan saya terdahulu tentang Panduan URL Rewriting, saya ingin mengulas sedikit tentang metode URL rewriting yang dipakai oleh WordPress dan juga beberapa CMS lainnya. Di WordPress, mereka menyebutnya dengan istilah permalink (dan slug).

Agar lebih jelas tulisan ini akan saya pecah menjadi beberapa bagian. Saya belum bisa memastikan akan menjadi berapa bagian. Silakan Anda ikuti saja terus pembahasannya di blog ini.

Kalau kita lihat struktur URL Rewriting yang dipakai oleh WordPress (dan beberapa CMS lain) sepertinya sangat sederhana. Ya, memang benar aturannya teramat sangat pendek dan sederhana. Hanya terdiri dari beberapa baris saja.

Akan tetapi coba Anda tengok source code pemrogramannya. Sangat rumit dan kompleks sekali. Banyak sekali aturan-aturan regular expression yang dipakai.

Berikut ini adalah cuplikan file .htaccess yang dibuat oleh WordPress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Isi file .htaccess di WordPress akan berisi baris-baris seperti di atas, apabila kita mengeset Permalinks dibagian Settings. Gambar di bawah ini adalah cuplikannya.

permalink

Mungkin Anda bertanya-tanya, kenapa aturan yang diterapkan di dalam file .htaccess sangat berbeda dengan tulisan sebelumnya.

Seperti yang Anda lihat pada cuplikan source file htaccess diatas, WordPress menggunakan fungsi RewriteCond dan RewriteRule untuk mengarahkan URL ke halaman web yang sesungguhnya.

Maksud dari kedua pernyataan RewriteCond diatas adalah jika request yang diterima bukan berupa file atau direktori maka request tersebut akan diteruskan ke file index.php.

Nah, selanjutnya oleh class WP_Rewrite (ada di wp-include/rewrite.php yang di-include di file index.php) request tersebut akan diperiksa dan diarahkan ke halaman web yang dimaksud.

Tambah bingung? Tenang saja, pada tulisan mendatang akan saya jelaskan lebih detil lagi apa makna dari struktur di atas. Untuk sementara itu dulu dan tunggu pembahasan selanjutnya di blog ini.

ENTRI TERKAIT:

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>