使用子域处理Nginx重写的最佳方法是什么?

时间:2017-03-28 14:36:44

标签: regex nginx url-rewriting

我需要解析子域并将其添加到url的末尾,例如:

subdomain.mysite.com需要重写为subdomain.mysite.com/subdomain

subdomain.mysite.com/login需要重写为subdomain.mysite.com/subdomain/login

出现麻烦是因为我有一组我不想匹配的保留字,例如各种不同的环境。

dev-web.mywebsite.com不应映射到mywebsite.com/dev-web

这就是我到目前为止......一般都在努力使用nginx语法和正则表达式。

if ($host ~ ^([^.]+)\.(.+)) {
    set $subdomain $1;
}

if ($subdomain ~* ^(dev-web|uat-web)$) {
    rewrite ^ $scheme://$host/$subdomain$request_uri permanent;
}

我得到的各种错误是重定向太多,或者根本就没有重定向。 ERR_TOO_MANY_REDIRECTS subdomain.mysite.com/subdomain/subdomain/subdomain/subdomain...

0 个答案:

没有答案