Вопрос по UrlManager

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Avron
Сообщения: 54
Зарегистрирован: 2012.05.18, 17:05

Вопрос по UrlManager

Сообщение Avron »

Есть правило

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

'/admin/<_m:\w+>/<_c\w+>/<_a\w+>' => '/<_m>/<_c>/<_a>'
Есть ссылка:

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

Html::a('Auth Assignment', Url::to('/admin/rbac/auth-assignment-admin'));
Есть модуль rbac:
modules
|-rbac
|-controllers
|- AuthAssignmentAdminController

Ссылка получается вида:

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

http://blog.localhost/admin/rbac/auth-assignment-admin
Но метод index контроллера AuthAssignmentAdminController не вызывается.
Имеем ошибку

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

Not Found (#404) 
Page not found.
Не пойму что не так.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Вопрос по UrlManager

Сообщение Dominus »

А так?

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

Html::a('Auth Assignment', ['/admin/rbac/auth-assignment-admin/index']);
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Avron
Сообщения: 54
Зарегистрирован: 2012.05.18, 17:05

Re: Вопрос по UrlManager

Сообщение Avron »

Я так тоже пробовал. 404-ая ошибка
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Вопрос по UrlManager

Сообщение Dominus »

Префикс admin больше нигде не используется?

Например в .htaccess для перенаправления запроса на backend/web

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

RewriteCond %{REQUEST_URI} !^/(backend/web|admin)
Попробуйте такие правила:

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

'backend/<_m:\w+>/<_c\w+>' => '<_m>/<_c>/index', // .../backend/rbac/auth-assignment-admin
'backend/<_m:\w+>/<_c\w+>/<_a\w+>' => '<_m>/<_c>/<_a>' // .../backend/rbac/auth-assignment-admin/revoke
или же:

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

'<_m:\w+>/admin/<_c\w+>' => '<_m>/<_c>/index', // // .../rbac/admin/auth-assignment-admin
'<_m:\w+>/admin/<_c\w+>/<_a\w+>' => '<_m>/<_c>/<_a>' // .../rbac/admin/auth-assignment-admin/revoke
Ссылки формируются так:

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

Url::to(['/rbac/auth-assignment-admin/index']);
Html::a('Auth Assignment', ['/rbac/auth-assignment-admin/index']);

Url::to(['/rbac/auth-assignment-admin/revoke']);
Html::a('Auth Assignment Revoke', ['/rbac/auth-assignment-admin/revoke']);
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Ответить