Как реализовать urlManager из backEnd во frontEnd и наоборот?

Нужно реализовать urlManager так, чтобы Yii::$app->urlManagerFrontEnd и Yii::$app->urlManagerBackEnd были доступны в backEnd и frontEnd. В гугле нашёл много решений, все делают по своему, но варианты мне не понравились. Как я делаю:
Шаг 1: в common/config/params.php добавил 2 параметра
'domainFrontEnd' => 'yii2',
'domainBackEnd' => 'admin.yii2'

Шаг 2: в common/config/main.php добавил
'components' => [
        'urlManagerFrontEnd' => [
            'class' => 'yii\web\UrlManager',
            'baseUrl' => '',
            'hostInfo' => $domainFrontEnd,
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
        ],
        'urlManagerBackEnd' => [
            'class' => 'yii\web\UrlManager',
            'baseUrl' => '',
            'hostInfo' => $domainBackEnd,
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
        ],
    ],

Шаг 3: в backEnd вызываю
Yii::$app->urlManagerFrontEnd->createUrl('')
но ссылка получается admin/yii2/, хотя должно быть yii2/
Что я делаю не так? В гугле пишут, что нужно реализовывать роуты и в примерах свои роуты. Мне нужны стандартные роуты типо module/controller/action/params
  • Вопрос задан
  • 529 просмотров
Решения вопроса 1
@Gregpopov
Full stack web developer
А зачем такие танцы с бубном? Разделить админку и фронт по URL для переходов типа example.com/admin?

Гляньте это.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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