2017-01-30 70 views

回答

1

的问题是,正则表达式匹配^/old-url/old-url/old-url/old-url-sub/old-url/anything-else

因此,第一个rewrite语句被调用这两个URI。

如果您希望正则表达式仅匹配整个字符串,则需要在模式的前部和后部使用锚点。如您所知,^锚定图案的正面,而$锚定图案的背面。

尝试:

rewrite ^/old-url$ /new-url permanent; 

如果你试图重定向/old-url/xxx/new-url/xxx其中xxx是什么,你可以使用一个单一的rewrite语句捕获:

rewrite ^/old-url(/.*)?$ /new-url$1 permanent; 

this useful resource on regular expressions

+0

重写^/old-url $/new-url永久;这条线解决了这个问题。谢谢 – aligokayduman