В Yii2 правила маршрутизации определяются в файле config/web.php
или config/main.php
, в зависимости от способа настройки приложения.
Для создания правила маршрутизации вам необходимо использовать конфигурацию urlManager
. В этой конфигурации вы должны указать правило, которое определит, как будет обрабатываться запрос и на какой контроллер и действие будет направлен.
Пример простого правила маршрутизации:
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ 'post/<id:d+>' => 'post/view', 'posts' => 'post/index', ], ],
В этом примере post/<id:d+>
указывает на URL-шаблон, который будет соответствовать URL-адресу вида post/123
, где 123
- это идентификатор поста. <id:d+>
описывает параметр id
, который должен быть числовым.
post/view
указывает на контроллер PostController
и действие actionView
, которые будут обрабатывать этот маршрут. То есть при обращении к URL post/123
, Yii2 вызовет метод actionView
контроллера PostController
и передаст ему аргумент id = 123
.
Другое правило 'posts' => 'post/index'
говорит, что при обращении к URL posts
, будет вызван метод actionIndex
контроллера PostController
.
Вы можете определять сколько угодно правил маршрутизации в массиве rules
. Yii2 будет искать соответствующее правило, начиная с первого и выполнять его, если URL соответствует этому правилу.