技术解析

请教一下,为什么 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 也没有用,看来就是 所说的问题。。。
谢谢各位

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服