Правило урл

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Правило урл

Сообщение maleks »

Привет.
У меня есть структура

Код: Выделить всё

module1/AdminDefaultController
module1/AdminDefault2Controller

module2/AdminDefaultController
module2/AdminDefault2Controller
Соответственно урлы к экшенам получаются вида:
module1/admin-default/index
Я хочу словечно admin вынести вперед для всех таких роутов, чтобы снаружи стало:
/admin/module1-default/index
Написал такое правило:

Код: Выделить всё

            'rules' => [
                'admin/<module:(module1|module2)>-<consuffix>/<action:\w*>' =>
                    '<module>/admin-<consuffix>/<action>',
            ],
Следующие адреса работают:
- admin/module1-default/index
- admin/module1-default/
А вот этот адрес не работает:
- admin/module1-default
Как то можно этот слешик чтобы необязательным стал?
Yii2 universal module sceleton - for basic and advanced templates
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Правило урл

Сообщение yiiliveext »

Код: Выделить всё

'rules' => [
                'admin/<module:(module1|module2)>-<consuffix>/<action:\w+>' =>
                    '<module>/admin-<consuffix>/<action>',
                'admin/<module:(module1|module2)>-<consuffix>' =>
                    '<module>/admin-<consuffix>/index',
            ],
В UrlManager добавьте

Код: Выделить всё

'normalizer' => [
        'class' => 'yii\web\UrlNormalizer',
        'normalizeTrailingSlash' => true,
    ],
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Правило урл

Сообщение maleks »

Попробую. Спасибо.
Yii2 universal module sceleton - for basic and advanced templates
Ответить