server {
server_name *.com.another.com;
location / {
root /var/www/html/$host;
index index.html;
}
}
В приведенном выше примере, если кто-то запросит www.jaja.com.another.com
, nginx будет искать в каталоге /var/www/html/www.jaja.com.another.com
Вот что мне нужно: если кто-то сделает запрос www.jaja.com.another.com
, Я хочу, чтобы nginx смотрел в каталог /var/www/html/www.jaja.com
Другими словами, $host
является www.jaja.com.another.com
. Мне нужно удалить .another.com
в $host
Замена строк в Nginx для меня нова
server {
server_name ~^(?<subdomain>.*)\.another\.com$;
root /var/www/html/$subdomain;
index index.html index.htm index.php;
location ~ \.php$ { <...> }
}
На основе этот ответ:
map $host $directory {
default www;
~*^(?P<subdomain>[a-z0-9\-\.]+)\.com\.another\.com$ $subdomain;
}
server {
server_name *.com.another.com;
location / {
root /var/www/html/$directory;
index index.html;
}
}