Учебники

Yii — Правила URL

Правило 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.

Модифицированный компонент urlManager

Правило 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 .