我们正在从一组形式的位置进行转换:example.com/app1,我们将重定向到/app2。
但是,我们希望保持 app1 的某些 URI 处于活动状态,例如 example.com/app1/111 和 example.com/app1/222 不应重定向。
应该怎么做?位置块不接受像“!~”这样的前缀,这会让事情变得简单,即,
location !~ /app1/(111|222) {
rewrite /app1 /app2;
}
在位置模式匹配方面不起作用。
我已经尝试过这个(以及在 /app1/ 之后的所有内容周围加上括号),但它也不起作用:
location ~ /app1/!(111|222) {
rewrite /app1 /app2;
}
有什么建议吗?
答案1
cmiiw 你可以尝试(请确保顺序正确,你可以尝试更改正则表达式)
location ~ ^/app1/111$ {
break;
}
location ~ ^/app1/222$ {
break;
}
location ~ ^/app1$ {
rewrite /app1 /app2;
}