Существует несколько различных подходов, я упомяну пару из них:
Первый подход Сохраните несколько файлов env для соответствующего домена (содержащих учетные данные базы данных каждого домена) и используйте требуемый файл, как показано ниже (напишите этот код в вашем bootstrap \ app.php прямо перед возвратом $ app ):
$envFile = $_SERVER['HTTP_HOST'] == 'aaa.xyz.com' ? '.env-aaa' : $_SERVER['HTTP_HOST'] == 'bbb.xyz.com' ? '.env-bbb';
$app->loadEnvironmentFrom($envFile);
Вы также можете создать группы маршрутов в файле web.php / rout.php, как показано ниже, чтобы сохранить код чистым:
Route::group(['domain' => 'www.domain.com'], function(){
...
});
Route::group(['domain' => 'mobile.domain.com'], function(){
//...
});
Второй подход (если у вас более 2 доменов или вы планируете добавить больше доменов в будущем)
Вот шаги:
- Создайте родительскую базу данных и таблицу, содержащую учетные данные всех доменов вместе с именем домена.
- Когда домен поражен, проверьте в родительской базе данных наличие этого URL, получите учетные данные в вашем проекте и сохраните их в сеансе в зашифрованном виде и передайте их в файл database.php.
Надеюсь, это поможет!