nginx重写规则重写某个正则表达式的每个匹配除外

时间:2012-10-16 14:47:59

标签: regex url-rewriting nginx rewrite uri

我在nginx中编写重写规则。

我想将每个匹配/A/B[anything]的URI重写为/X/ /A/B/C[/]除外。

我该怎么做?

  

我尝试了什么:

if ($request_uri ~ ^/A/B/C/?) {
    break;
}
rewrite ^/A/B   /X/   permanent;

这会将/A/B重写为/X/,但/A/B[anything]不会被重定向,/A/B/C/也不会停留在/A/B/C/

2 个答案:

答案 0 :(得分:0)

rewrite ^/A/B/?$   /X/   permanent;

应该这样做

答案 1 :(得分:0)

我想出了这个问题。

我需要制作重写行

rewrite ^/A/B(.*)?   /X/   permanent;

(.*)?表示“并且可以随意匹配任何内容。”