2016-01-21 83 views
2

如何使用正则表达式来做到这一点:Nginx的正则表达式server_name时

preprod.*.company.com > root to /home/preprod_folder 
*.company.com > root to /home/prod_folder 

我知道匹配* .company.com我将创建:

server_name *.company.com 

但关于什么的正则表达式* .company.com之前匹配,这条规则preprod.allsubdomains.company.com

preprod.*.company.com不工作,这很正常。

请问您能帮我吗?

谢谢。

回答

1

你说“重定向”,但它看起来像你的意图是设置root目录。也许这是你在找什么:

server_name ~^preprod\.(?<subdomain>\w+).company.com; 
    root /home/prepod_folder; 
+0

是的,这是工作,但如果我的规则之前添加其他规则* .company.com(所以这两个规则),* .company.com比赛.. – Xanarus

+0

我也为* .company.com(server_name〜^(?! preprod)\。(? \ w +)。mycompany.com;))添加了此规则,这是行得通的,谢谢! – Xanarus