当前位置: > Linux服务器 > nginx >

Nginx中IF、AND、OR语句用法实例

时间:2015-02-19 13:51来源:linux.it.net.cn 作者:IT
Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法

什么是逻辑用法呢, 就程序中的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:60
configuration 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;
    }



 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容