nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。
我们可以用变量的方式来间接实现。
要实现的语句:
if ($remote_addr = “192.168.3.21” && $uri ~* “php”) {
return 404;
}
如果按照这样来配置,就会报nginx: [emerg] invalid condition错误。
可以这么来实现,如下所示:
set $tag 0;
if ($remote_addr = "192.168.3.21"){
set $tag "${tag}1";
}
if ($uri ~* “php”){
set $tag "${tag}1";
}
if ($tag = "011"){
return 404;
}
相关文章
- NGINX 配置404错误页面转向
- yum方式安装php-fpm
- Python2(Python 2.x版本)和Python3(Python 3.x版本)之间的区别
- nginx 全局变量 $
- nginx配置反向代理或跳转出现400问题处理记录
- nginx proxy 模块请求发往上游
转载请注明:爱开源 » nginx if 多重判断
转载请注明:爱开源 » nginx if 多重判断