Как сделать правило маршрутизации в YII2?

В 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 соответствует этому правилу.