rewrite ^/old-url /new-url permanent;
rewrite ^/old-url/old-url-sub /new-url/new-url-sub permanent;
2个网址(/ old-url和old-url / old-url-sub)重定向到相同的网址( / new-url )
有什么问题?
答案 0 :(得分:1)
问题是正则表达式^/old-url
与/old-url
以及/old-url/old-url-sub
和/old-url/anything-else
匹配。
因此,为两个URI调用了第一个rewrite
语句。
如果您希望正则表达式仅匹配整个字符串,则需要在模式的正面和背面使用锚点。如您所知,^
锚定模式的正面,而$
锚定模式的背面。
尝试:
rewrite ^/old-url$ /new-url permanent;
如果您尝试将/old-url/xxx
重定向到/new-url/xxx
xxx
,那么您将使用带有捕获的单个rewrite
语句:
rewrite ^/old-url(/.*)?$ /new-url$1 permanent;