Chr*_*aan 45 regex webserver nginx
如何location在Nginx中设置一个响应任何不符合列出位置的条件?
我试过了:
location !~/(dir1|file2\.php) {
rewrite ^/(.*) http://example.com/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
但它不会触发重定向.它只使用服务器配置的其余部分中的规则处理请求的URI.
Rin*_*g Ø 71
根据nginx文档
没有匹配正则表达式的语法.相反,匹配目标正则表达式并分配一个空块,然后使用location /匹配其他任何内容
所以你可以定义类似的东西
location ~ (dir1|file2\.php) {
# empty
}
location / {
rewrite ^/(.*) http://example.com/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
AMB*_*AMB 48
我一直在寻找同样的东西.并找到了这个解决方案
使用负正则表达式断言:
location ~ ^/(?!(favicon\.ico|resources|robots\.txt)) {
.... # your stuff
}
Run Code Online (Sandbox Code Playgroud)
来源 否定正则表达式的位置