2015-07-24 1 views
0

У меня есть подпапки «agent» и «admin» в папке контроллеров в Yii2.Контроллер AutoLoad в подкаталоге в выпуске Yii2

Когда я печатаю localhost/projectname/agent/dashboard, он работает нормально, где «приборная панель» является контроллером в папке «агент».

Но когда я печатаю localhost/projectname/agent, он говорит, что страница не найдена. Каково решение этого? Я также знаю, что этот тип работы должен обрабатываться в модулях.

ответ

2

Yii ищет AgentController в каталоге главных контроллеров с этим вторым URL-адресом («http://localhost/projectname/agent»).

Вы можете использовать собственные правила URL, чтобы убедиться, что он попал в AgentController в вашу папку «agent». http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html#url-rules

Что-то вроде:

"agent" => "agent/index" 

должен сделать трюк. Не забудьте изменить «индекс» на что-то еще, если вы хотите, чтобы для этого URL-адреса вызывается другое имя.

+0

В web.php (urlManager ... правила) Я добавил [ \t 'шаблон' => 'агента', \t 'маршрут' => 'агент/панель' ] – abasit83

+0

Теперь он работает отлично подходит для «локальный/имя_проект/агент». Но когда я добавляю «/» в конце URL-адреса, он говорит, что страница не найдена :-( – abasit83

+0

См. Обсуждение: https://github.com/yiisoft/yii2/issues/1807 Вы можете изменить суффикс и уровень UrlManager (либо слэш, либо без косой черты), либо вы можете определить маршрут дважды, один раз с помощью косой черты и один раз без него. –

Смежные вопросы