请教一下,为什么 nginx 的 try_files 在使用 if 过后无效?
- 0次
- 2021-05-19 16:14:14
- idczone
location ~ "/test-p15990\.html$" {
if ( $whitelist = 0 ) {
set $test 1;
}
default_type "text/html; charset=UTF-8";
add_header debug "test1";
try_files /html/p15/990 =404;
}
注销第 2 和第 4 行就正常返回页面,说明设置变量没有问题,如果$whitelist 为 1 时是美国服务器正常的。
但问题是当$whitelist 为 0 时就不行了呢?
优先级问题,后者高
优先级?没搞懂 @uncat
因为 If is Evil
https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
我猜应该是 try_files 没有被 if 配置块继承。
add_header 也没有用,看来就是 所说的问题。。。
谢谢各位