nginx文檔說明server_name directive支持正則表達式。我一直在撞牆,試圖讓一個微不足道的正則表達式工作。在nginx中使用正則表達式重定向子域
我想http://subdomain.mydomain.com重定向到http://mydomain.com/subdomain
這裏是我的代碼。
server {
server_name "~^subdomain\.mydomain\.com$";
rewrite^http://mydomain.com/subdomain;
}
此外,可能值得注意。進一步在nginx配置文件中有一條規則:
server {
server_name *.mydomain.com
...
}
我在做什麼錯?
UPDATE:
有人建議我不要使用這個...正則表達式來提供多一點清晰:在平凡的正則表達式是簡單地進行故障排除的目的。真正的正則表達式看起來更像...
server {
server_name "~^.*(cvg|cincinnati)\.fakeairport(app)?\.(org|com)$";
rewrite^http://fakeairport.com/cincinnati;
}
server {
server_name "~^.*(lex|lexington)\.fakeairport(app)?\.(org|com)$";
rewrite^http://fakeairport.com/lexington;
}
所以最好使用正則表達式。
無能nginx的,但爲什麼會出現在正則表達式的開始波浪? – sweaver2112 2012-03-06 09:18:21
前導代字號告訴nginx這是一個正則表達式。 – danott 2012-03-06 19:03:13