Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法 什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了. NGINX支持if的 and 与 or 或者 && 与 || 吗?
答案是No. 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:60 那么我们应该怎样来实现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; } (责任编辑:IT) |