2017-02-21 140 views
1

我在nginx的配置类似的地方重定向规则,Nginx的:排除特定的基于名重定向规则

location ~ ^/abc/(.*) { 
rewrite ^www.abc.com/web/primary/abc.html/$1; 
} 

,但我需要排除例如我重定向位置的几个目录,

location ~ ^/abc/ae 
location ~ ^/abc/be 

那些ae不应该被重定向到上面的URL。有人可以帮助吗?

回答

0

虽然实现使用location块,但你需要做块功能可能是复杂的动态内容。

最简单的方法是在正则表达式中使用负前瞻声明

在您的例子中,location块是不是真的有必要和你rewrite指令似乎缺少一些空白。但是,这样的事情可能会为你工作:

rewrite ^/abc/(?!ae|be)(.*)$ /foo/$1 last; 

(?!序列开始正则表达式(ae|be)是不得出席了这一点。有关更多信息,请参阅this document

+0

感谢理查德其工作。 – SudhakaranR