博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NGINX的奇淫技巧 —— 2. IF AND 和 OR
阅读量:6377 次
发布时间:2019-06-23

本文共 1166 字,大约阅读时间需要 3 分钟。

在上一篇文章:《》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法:

什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了.

NGINX支持if的 andor 或者 &&|| 吗?

答案是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 -tnginx: [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;    }

转载地址:http://pixqa.baihongyu.com/

你可能感兴趣的文章
哈工大发明“电子体毛”,让机器人学会“敏感”
查看>>
上传一张照片,让算法告诉你是否患有抑郁症
查看>>
VR厂商唯晶科技获2800万C+轮融资,曾开发过游戏《圣女之歌》
查看>>
Countly 19.02.1 发布,实时移动和 web 分析报告平台
查看>>
TCP连接中time_wait在开发中的影响-搜人以鱼不如授之以渔
查看>>
Oracle数据库机出新帮助不同规模企业迈向云端
查看>>
前端通信:ajax设计方案(六)--- 全局配置、请求格式拓展和优化、请求二进制类型、浏览器错误搜集以及npm打包发布...
查看>>
Android捕获监听Home键、最近任务列表键
查看>>
微服务分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa
查看>>
word2vec原理(三) 基于Negative Sampling的模型
查看>>
被《时代周刊》选为年度最佳发明,PS VR靠的竟然是价格
查看>>
通用唯一标识码UUID的介绍及使用。
查看>>
spring笔记--依赖注入之针对不同类型变量的几种注入方式
查看>>
Java爬虫——网易云热评爬取
查看>>
Ajax的简单学习
查看>>
无华为,不智慧:智慧城市建设为何少不了华为?
查看>>
高性能网络通信框架Netty-基础概念篇
查看>>
为npm配置taobao源
查看>>
orm框架(SQLAlchemy) 连接数据库和创建表
查看>>
OSPF多区域虚电路配置
查看>>