URL yang menghubungkan berbagai halaman untuk aplikasi blog kita masih terlihat kurang bagus. Misalnya, untuk URL halaman yang menampilkan sebuah post terlihat sebagai berikut:
/index.php?r=post/show&id=1&title=A+Test+Post
Pada bagian ini, kita akan melihat bagaimana memperindah URL-URL ini dan membuatnya lebih ramah mesin pencari (search engine optimazation friendly). Tujuan kita adalah menggunakan URL berikut ini dalam aplikasi:
/index.php/posts/yii
: akan mengarah ke halaman dengan post yang memiliki tag yii
;/index.php/post/2/A+Test+Post
: mengarah ke halaman yang menampilkan detail dari post ID 2 dengan judul A Test Post
;/index.php/post/update?id=1
: mengarahkan ke halaman yang memungkinkan update post ber-ID 1Perhatikan bahwa form URL kedua, kita akan menyertakan judul post ke dalam URL. Tujuan utamanya adalah membuat URL menjadi ramah SEO. Dikatakan bahwa search engine juga menghormati tulisan yang ditemukan di URL ketika di-indeks.
Untuk mencapai tujuan, kita memodifikasikan konfigurasi aplikasi sebagai berikut,
return array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'post/<id:\d+>/<title:.*?>'=>'post/view',
'posts/<tag:.*?>'=>'post/index',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
),
);
Di atas, kita mengkonfigurasi komponen urlManager dengan mengatur properti urlFormat
menjadi path
dan menambahkan sekumpulan rules
.
Rules (aturan) digunakan oleh urlManager
untuk parsing dan membuat URL menjadi format yang diinginkan. Misalnya, rule kedua mengatakan bahwa jika sebuah URL /index.php/posts/yii
diminta, maka komponen urlManager
harus bertanggung jawab untuk mengarahkan request ke route post/index
dan menghasilkan sebuah parameter GET tag
dengan nilai yii
. Di lain sisi, ketika membuat URL dengan rute post/index
dan parameter tag
, maka komponen urlManager
juga akan menggunakan aturan ini untuk menghasilkan URL yang diinginkan. Untuk alasan ini, kita mengatakan bahwa urlManager
merupakan manajer URL dua arah.
Komponen urlManager
dapat mempercantik URL lebih lanjut, seperti menyembunyikan index.php
di dalam URL, menambah akhiran seperti .html
ke URL. Kita juga dapat mengambil fitur ini dengan mudah dengan mengkonfigurasi berbagai property dari urlManager
di dalam konfigurasi aplikasi. Untuk lebih detail, silahkan merujuk ke Guide.
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.