Я хотел бы использовать один сервер, который использует базовую установку Laravel, и иметь субдомены, которые ссылаются на эту установку. Все субдомены будут такими же, как SaaS.
Я посмотрел вокруг, и соединения с базами данных просты, но мне интересно, если вы можете сделать это разумно с той же кодовой базой для поддоменов.
Мир поддоменов включает в себя минимально необходимые файлы для своего поддомена — возможно, публичный индекс и начальную загрузку? Надеюсь, без ссылок все.
Я не беспокоюсь о конфигурации сервера, я просто хотел бы указать правильное направление для кода Laravel, например, промежуточное программное обеспечение для обработки запроса, а затем указать на этот поддомен?
У многих тем, которые я прочитал, нет ответа, который кажется стандартным, есть идеи или ссылки?
Кроме того, если бы это была установка с несколькими серверами, не было бы хорошо с сервером NFS для ядра?
С laravel вы можете проверить URL, не используя поддоменов, а просто группировать запросы маршрутизации.
Группы маршрутов также могут использоваться для обработки маршрутизации в субдомене.
Субдоменам могут быть назначены параметры маршрута так же, как и URI маршрута,
позволяя вам захватить часть субдомена для использования в вашем
маршрут или контроллер. Субдомен может быть указан с помощью
ключ домена в массиве атрибутов группы:
Route::group(['domain' => '{account}.myapp.com'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
Подробнее об этом читайте в документации по Laravel https://laravel.com/docs/5.4/routing#route-group-sub-domain-routing
BOUNTY
Вы также можете поставить больше параметров для того же Route::group
это может быть, например,
Route::group(['domain' => '{subdomain}.{domain}.{tld}'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
В то же время вы можете ограничить параметры домена, которые вы собираетесь принять, используя Route::pattern
определение.
Route::pattern('subdomain', '(dev|www)');
Route::pattern('domain', '(example)');
Route::pattern('tld', '(com|net|org)');
Route::group(['domain' => '{subdomain}.{domain}'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
В этом предыдущем примере все следующие домены будут приняты и правильно маршрутизированы
Других решений пока нет …