Yii - Aturan URL
Aturan URL adalah sebuah contoh jika yii\web\UrlRule. ItuurlManager komponen menggunakan aturan URL yang dideklarasikan dalam rules properti ketika format URL cantik diaktifkan.
Untuk mengurai permintaan, pengelola URL mendapatkan aturan dalam urutan pernyataannya dan mencari aturan pertama.
Step 1 - Ubah urlManager komponen di config/web.php mengajukan.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Buka browser web Anda di http://localhost:8080/about, Anda akan melihat halaman tentang.
Aturan URL dapat dikaitkan dengan parameter kueri dalam pola ini -
<ParamName: RegExp>, di mana -
ParamName - Nama parameter
RegExp - Ekspresi reguler opsional yang digunakan untuk mencocokkan nilai parameter
Misalkan, kami telah menyatakan aturan URL berikut -
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Kapan aturan digunakan untuk parsing -
- /index.php/articles diurai menjadi artikel / index
- /index.php/articles/2014/php diurai menjadi artikel / indeks
- /index.php/article/100 diurai menjadi artikel / tampilan
- /index.php/articles/php diuraikan menjadi artikel / php
Kapan aturan digunakan untuk creating URLs -
Url :: to (['article / index']) membuat /index.php/articles
Url :: to (['article / index', 'year' => 2014, 'category' => 'php']) membuat /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) create /index.php/article/100
Url :: to (['article / view', 'id' => 100, 'source' => 'ad']) create /index.php/article/100?source=ad
Url :: to (['article / index', 'category' => 'php']) membuat /index.php/article/index?category=php
Untuk menambahkan sufiks ke URL, Anda harus mengkonfigurasi yii\web\UrlManager::$suffix Properti.
Step 3 - Ubah urlComponent dalam config/web.php mengajukan.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Ketikkan alamatnya http://localhost:8080/site/contact.htmldi bilah alamat browser web dan Anda akan melihat yang berikut di layar Anda. Perhatikanhtml akhiran.