@MarkLb

Как убрать"default" с модуля Yii2 только для DefaultController?

Здравствуйте. Стоит задача убрать с URL DefaultController "/default/, т.е. чтобы путь типа "/ticket/default/new" стал "/ticket/new". Для этого использую решение с urlManager:
'<module:\w+>/<action:\w+>/<id:(.*?)>' => '<module>/default/<action>',
    '<module:\w+>/<action:\w+>' => '<module>/default/<action>',
    '<module:\w+>' => '<module>/default/index',


Но проблема в том, что правило распостраняется на все контроллеры, а не только те, которые являются default-контроллерами. Т.е. при попытки перейти на "profile/settings/change-password" - возвращается 404. Пробовал "default" заменить на "<controller>" в правилах - не помогло.
  • Вопрос задан
  • 414 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Доброе утро.
Попробуйте так
'<_m:[\w\-]+>' => '<_m>/default/index',
'<_m:[\w\-]+>/<_c:[\w\-]+>' => '<_m>/<_c>/index',
'<_m:[\w\-]+>/<_a:[\w\-]+>/<id:\d+>' => '<_m>/default/view',
'<_m:[\w\-]+>/<_c:[\w\-]+>/<_a:[\w\-]+>' => '<_m>/<_c>/<_a>',
'<_m:[\w\-]+>/<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_m>/<_c>/<_a>',
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы