Как вы знаете, в MVC.NET у нас есть области, которые дают возможность разделять админ-часть с пользовательской частью. В индексе папки приложения выглядит следующим образом:
/Areas
/Admin
/Controllers
/Models
/Views
/Controllers
/Models
/Views
Выше стиль показывает, что у нас есть разные папки для контроллеров, моделей и просмотров. Url для частей, которые являются подпапкой области, подобны этому domain.pre/area/controller/action
и url для частей, которые не являются подпапкой области, похожи на этот domain.pre/controller/action
знают в yii2, мы не делаем есть области. Мой вопрос в том, что если у нас есть два контроллера, такие как A
и B
мы можем определить другой URL-адрес для одного из них? Например, маршрут контроллера A
будет таким, как этот domain.pre/A/index
а маршрут B
контроллера будет таким, как этот domain.pre/admin/B/index
Спасибо за ваше время и ответ
редактировать
У меня есть 4 контроллера с именем Word
, Panel
, Regex
и Language
если я хочу получить доступ к указательному действию каждого контроллера, я должен следовать этому правилу:
mysite/panel/index
mysite/word/index
mysite/regex/index
mysite/language/index
знаю, что хочу изменить URL-адреса в этих форматах:
mysite/panel/index
mysite/admin/word/index
mysite/admin/regex/index
mysite/admin/language/index
На основе формата URL, который вы хотите достичь,
mysite/panel/index
mysite/admin/word/index
mysite/admin/regex/index
mysite/admin/language/index
Вы должны включить конфигурацию UrlManager, как показано ниже.
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName'=>false
]
Если вы не добавите это в свой файл конфигурации, вы можете получить доступ только к страницам своего сайта.
mysite/index.php?r=panel/index
mysite/index.php?r=admin/word/index