Есть такие роуты:
Route::domain('{subdomain}.' . 'site.ru')->group(function($subdomain)
{
Route::get('/', function() { /* */ })->name('subdomainIndex');
Route::get('/login', function() { /* */ })->name('subdomainLogin');
/* etc. */
}
При этом эти поддомены создаются из админки, храянятся в базе. (Пользователи - новый - задайте поддомен для пользователя...).
Посмотрев на ваш код, заметил ошибку в контроллере. Пересмотрите документацию, где указано, как использовать поддомены в своих роутах
Route::domain('{account}.myapp.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
Видно, что динамический поддомен передается непосредственно перед URI-параметрами напрямую в обработчик роута (не группы!)
Далее вам обязательно нужно добавить в DNS домена А-запись *.site.ru (короче - поддомен *). Делается это по-разному в зависимости от вашего DNS редактора.
Что касается настроек сервера, то никаких дополнительных настроек не нужно, кроме тех, которые рекомендуются в документации. Смысл в том, чтобы все запросы к приложению шли на public/index.php
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости