nginx位置块,当不匹配expression式时redirect

我们正在从example.com/app1的一组位置转换,我们将redirect到/ app2。

但是,我们希望保持app1的某些URI为活动状态,例如,example.com/app1/111和example.com/app1/222不应redirect。

这应该怎么做? 位置块不接受像“!〜”这样的前缀,这将使得它变得容易,

location !~ /app1/(111|222) { rewrite /app1 /app2; } 

在位置模式匹配方面不起作用。

我已经尝试过了(以及/ app1 /之后的所有东西),但它也不起作用:

 location ~ /app1/!(111|222) { rewrite /app1 /app2; } 

build议?

cmiiw你可以尝试(请确保顺序是正确的,你可以尝试改变正则expression式)

 location ~ ^/app1/111$ { break; } location ~ ^/app1/222$ { break; } location ~ ^/app1$ { rewrite /app1 /app2; }