Доброго времени суток.
Столкнулся с такой проблемой.
Есть основной домен project.local. Есть несколько служебных поддоменов: m.project.local, media.project.local, login.project.local. Для каждого из них прописаны свои реврайры. Сейчас пилим автоматическое создание поддоменов для профилей пользователей и как вот тут и появилась проблема.
Запросы вида m.project.local, media.project.local, login.project.local обрабатываются как нужно. Запрос anysubdomain.project.local тоже отрабатывает как надо и реврайтит на project.local/Script3.aspx?ArgURL=anysubdomain.
Как при этом заставить Nginx корректно реврайтить запрос типа anysubdomain.project.local/name-i200 на project.local/Script1.aspx?ArgID=200&ArgURL=name
Конфиг:
server {
listen 192.168.2.6:8080 default_server;
server_name ~(www|m|login).project.local project.local;
include /etc/nginx/custom.conf.d/headers.conf;
include /etc/nginx/custom.conf.d/rewrite.conf;
location / {
proxy_pass http://webfarm;
}
}
server {
listen 192.168.2.6:8080;
server_name media.project.local;
include /etc/nginx/custom.conf.d/swift-rewrite.conf;
location /{
proxy_pass http://swift;
}
}
server {
listen 192.168.2.6:8080;
server_name ~^(?<subdom>.+)\.project\.local$;
rewrite /([a-z0-9-]+)-i([0-9]+)(/?)$ /Script1.aspx?ArgID=$2&ArgURL=$1 last;
rewrite ^ http://www.vorotila.local/Script3.aspx?ArgURL=$subdom last;
location / {
proxy_pass http://webfarm;
}
}
Заранее спасибо за подсказки.