美文网首页
Nginx中IF、AND、OR语句用法实例

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

作者: 03ngnntds | 来源:发表于2019-04-22 10:36 被阅读0次

    这篇文章主要介绍了Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法,需要的朋友可以参考下

    在上一篇文章:《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: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 a1a 1a1a;

    }

    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;

    文章来源:http://www.iis7.com/b/ssyqdq/

    相关文章

      网友评论

          本文标题:Nginx中IF、AND、OR语句用法实例

          本文链接:https://www.haomeiwen.com/subject/ndoegqtx.html