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.