科技常识:Nginx中IF、AND、OR语句用法实例

2021-03-10 18:15:58
导读 今天小编跟大家讲解下有关Nginx中IF、AND、OR语句用法实例 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Nginx中IF、AND、

今天小编跟大家讲解下有关Nginx中IF、AND、OR语句用法实例 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Nginx中IF、AND、OR语句用法实例 的相关资料,希望小伙伴会喜欢也能够帮助大家。

在上一篇文章:《Nginx if语句加正则表达式实现字符串截断》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法:什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了.

NGINX支持if的 and 与 or 或者 && 与 || 吗?

答案是No.当你尝试这样配置, 重载nginx时, nginx会报出错误复制代码 代码如下: location = /test/ { default_type text/html; set $b 0; if ( $remote_addr != '' && $http_x_forwarded_for != '' ){ set $b '1'; } echo $b; }[root@test-vm ~]# /usr/local/nginx/sbin/nginx -t

nginx: [emerg] invalid condition"$remote_addr"in /usr/local/nginx/conf/nginx.conf:60configuration file /usr/local/nginx/conf/nginx.conf test failed那么我们应该怎样来实现and 和or的逻辑关系呢?复制代码 代码如下: location = /test_and/ { default_type text/html; set $a 0; set $b 0; if ( $remote_addr != '' ){ set $a 1; } if ( $http_x_forwarded_for != '' ){ set $a 1$a; } if ( $a = 11 ){ set $b 1; } echo $b; } location = /test_or/ { default_type text/html; set $a 0; set $b 0; if ( $remote_addr != '' ){ set $a 1; } if ( $http_x_forwarded_for != '' ){ set $a 1; } if ( $a = 1 ){ set $b 1; } echo $b; }

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章