server {
server_name ~^(?<dynamic>[a-z0-9\-]+)\.example.com$;
location / {
proxy_pass 127.0.0.1:80/sites/$dynamic$uri$is_args$args;
}
}
При поиске виртуального сервера по имени, если имени соответствует несколько из указанных вариантов, например, одновременно подходят и имя с маской, и регулярное выражение, будет выбран первый подходящий вариант в следующем порядке приоритета:
- точное имя
- самое длинное имя с маской в начале, например “*.example.com”
- самое длинное имя с маской в конце, например “mail.*”
- первое подходящее регулярное выражение (в порядке следования в конфигурационном файле)
server {
server_name ~^(?<dynamic>[a-z0-9\-]+)\.example.com$;
...
}
server {
server_name stage1.example.com;
....
}
...