Если вы используете laravel homestead, вам нужно зарегистрировать каждый поддомен в файле etc / hosts и в Homestead.yaml , как вы, вероятно, сделали с основной домен. Теперь я порекомендую структуру:
app.test
subdomain1.app.test
subdomain2.app.test
Я бы не рекомендовал использовать что-то вроде:
subdomain1.app1.test
subdomain2.app2.test
Я имею в виду, вы могли бы, но это не очень много смысл, и вам также придется зарегистрировать все это в вашей среде Homestead / Local и Production.
Для подхода, который я предлагаю, вы можете настроить это для переменной среды. https://laravel.com/docs/6.x/configuration#environment -variable-types
Вы можете добавить любую переменную env, которая вам нужна / нужна, в файл .env, есть переменная APP_URL, но это включает протокол http, который вы можете добавить что-то вроде:
APP_DOMAIN=app.test
И для производства
APP_DOMAIN=yourapp.com
Затем в файле маршрутов доступ к нему с помощью вспомогательного метода env
, вы можете опустить второй параметр или использовать его для установите значение по умолчанию, если вы забудете поместить его в файл .env.
Route::domain('{slug}.' . env('APP_DOMAIN', 'default.com'))->group(function () {
Route::get('/','WebsitesController@show')->name('web_website_show');
});
Кстати, это может помочь при настройке значения слагов с именованными маршрутами: Настройка именованных маршруты внутри группы поддоменов в Laravel 5.7