@mynameisflipe

Как маршрутизировать несколько доменов в одном Laravel?

В laravel есть маршрутизация, и можно группировать роуты в зависимости от домена.
С группировкой роутов по поддоменам проблем не возникало, но сделать что-то вроде такого не получилось.
Route::group(['domain' => '{domain}'], function () {});

(нужна именно динамическая маршрутизация с передачей доменного имени в контроллер)
Такое вообще возможно?)
И если да, то как? Если кто-то делал что-то подобное, подскажите пожалуйста )
  • Вопрос задан
  • 514 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Возможно, если очень надо. Не рекомендуется, конечно, но вполне реализуемо.

Вот функции. Лично у меня домен достается в RouteServiceProvider, там по файлам раскидывается как нужно.
Но ты можешь реализовать какой-то middleware, который будет куда-то пихать домен (дабы не дергать функцию каждый раз), либо в том-же раутПровайдере по домену доставать файл.

if (! function_exists('subdomain')) {
    /**
     * Returns subdomain.
     *
     * @return string
     */
    function subdomain()
    {
        $exploded = explode('.', Request::getHost());

        return count($exploded) == 3 ? $exploded[0] : null;
    }
}

if (! function_exists('domain')) {
    /**
     * Returns domain.
     *
     * @return string
     */
    function domain()
    {
        $exploded = explode('.', Request::getHost());

        return join('.', array_slice($exploded, -2, 2, true));
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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