У меня есть веб-приложение, работающее на Apache, где файл виртуальных хостов настроен для маршрутизации запросов в поддомены в определенные папки. Вместо того, чтобы изменить хост-файл каждый раз, когда создается поддомен, это позволяет мне динамически направлять URL-адреса в соответствующую папку (с Catchall, если папка не существует) -Преобразование Apache VirtualHost в серверный блок nginx для динамических поддоменов
<VirtualHost *:8080>
ServerName localhost.com
ServerAlias *.localhost.com
VirtualDocumentRoot "/var/www/clients/%1"
ErrorLog "logs\errors.log"
<directory "/var/www/clients/%1">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
Я пытаюсь преобразуйте приведенное выше значение в nginx, но не можете найти нужную логику для извлечения субдомена из URL-адреса, а затем установить переменную root
в файле конфигурации.
Может ли кто-нибудь помочь мне написать блок server {}
для nginx вместе с блоком catch-all, если путь root
не существует?
'server { имя_сервера ~^(. *) \. Localhost \ .com $; корень var/www/clients/$ 1; } ' – JASSY