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