2017-02-21 141 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