Yii - Правила URL
Правило URL является экземпляром, если yii\web\UrlRule. ВurlManager компоненты используют правила URL, объявленные в его rules свойство, когда включен красивый формат URL.
Чтобы проанализировать запрос, диспетчер URL-адресов получает правила в том порядке, в котором они объявлены, и ищет первое правило.
Step 1 - Измените urlManager компонент в config/web.php файл.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Зайдите в свой веб-браузер по адресу http://localhost:8080/about, вы увидите страницу с информацией.
Правило URL-адреса может быть связано с параметрами запроса в этом шаблоне -
<ParamName: RegExp>, где -
ParamName - Имя параметра
RegExp - Необязательное регулярное выражение, используемое для сопоставления значений параметров
Предположим, мы объявили следующие правила URL -
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Когда правила используются для parsing -
- /index.php/articles разбирается в статье / указателе
- /index.php/articles/2014/php разбирается в статье / указателе
- /index.php/article/100 разбирается в статье / представлении
- /index.php/articles/php разбирается на статьи / php
Когда правила используются для creating URLs -
Url :: to (['article / index']) создает /index.php/articles
Url :: to (['article / index', 'year' => 2014, 'category' => 'php']) создает /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) создает /index.php/article/100.
Url :: to (['article / view', 'id' => 100, 'source' => 'ad']) создает /index.php/article/100?source=ad
Url :: to (['article / index', 'category' => 'php']) создает /index.php/article/index?category=php
Чтобы добавить суффикс к URL-адресу, необходимо настроить yii\web\UrlManager::$suffix свойство.
Step 3 - Измените urlComponent в config/web.php файл.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Введите адрес http://localhost:8080/site/contact.htmlв адресной строке веб-браузера, и вы увидите на экране следующее. Обратите внимание наhtml суффикс.