nginx 逻辑运算
http://www.ttlsa.com/nginx/nginx-logic/
nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。
我们可以用变量的方式来间接实现。
要实现的语句:
if ($arg_unitid = 42012 && $uri ~/thumb/){ echo "www.ttlsa.com"; }
1 2 3 |
if ($arg_unitid = 42012 && $uri ~/thumb/){ echo "www.ttlsa.com"; } |
如果按照这样来配置,就会报nginx: [emerg] invalid condition错误。
可以这么来实现,如下所示:
set $flag 0; if ($uri ~ ^/thumb/[0-9]+_160.jpg$){ set $flag "${flag}1"; } if ($arg_unitid = 42012){ set $flag "${flag}1"; } if ($flag = "011"){ echo "www.ttlsa.com"; }
1 2 3 4 5 6 7 8 9 10 |
set $flag 0; if ($uri ~ ^/thumb/[0-9]+_160.jpg$){ set $flag "${flag}1"; } if ($arg_unitid = 42012){ set $flag "${flag}1"; } if ($flag = "011"){ echo "www.ttlsa.com"; } |
转载于:https://blog.51cto.com/riverxyz/1870988
nginx 逻辑运算相关推荐
- nginx教程全集汇总(ttlsa出品)
为什么80%的码农都做不了架构师?>>> nginx教程写了一段时间,无意中发现,nginx相关文章已经达到了近100篇了.觉得很有必要汇总到一起,它是我们运维生存时间的一片心 ...
- nginx汇总(z)
Nginx相关文章 Nginx基础 1. nginx安装 2. nginx 编译参数详解 3. nginx安装配置+清缓存模块安装 4. nginx+PHP 5.5 5. nginx配置虚拟 ...
- nginx系列:nginx反向缓存代理详解
小生博客:http://xsboke.blog.51cto.com 如果有疑问,请点击此处,然后发表评论交流,作者会及时回复. -------谢谢您的参考,如有疑问,欢迎交流 一. 代理和nginx相 ...
- 关于nginx/lighttpd epoll高并发以及apache为何不采用epoll的的疑惑 不指定
关于nginx/lighttpd epoll高并发以及apache为何不采用epoll的的疑惑 - 向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 - ...
- nginx 网络模型,cpu亲和等优点
nginx优点 1.IO多路复用epoll IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的"复用" 指的是复用同一个线程 epoll IO多路复用的 ...
- html if语句多条件,nginx if多条件判断的实现
if判断本身不支持多条件判断,用不了 && 或者|| 这种逻辑运算,而且if也不支持嵌套. 可以通过set变量来迂回实现. 比如这里我要实现访问a.rootop.org跳转到匹配子域名 ...
- Nginx 根据手机电脑进行不同跳转
有时候我们想对来自不同平台对同一页面的访问进行处理.比如访问 https://www.iteblog.com/test.html 页面,如果是电脑的浏览器访问,直接不处理:但是如果是手机的浏览器访问这 ...
- nginx使用lua实战
目录 一.介绍 二.安装 1.apt安装 2.测试hello world 3.命令模式 三.lua语法 1.数据类型 2.变量 3.拼接字符串.. 4.循环 5.函数 6.条件控制 四.库模块 1.c ...
- nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...
- Web项目使用nginx实现代理端口访问,看这篇就够了
在搭建服务器的时候,项目部署在tomcat上,要访问项目,则需要加上端口号,如何隐藏端口号来访问呢,这就用到了nginx. nginx可以在docker上安装,也可以在linux上安装,这里我建议使用 ...
最新文章
- Spark学习之Spark RDD算子
- STM32F 103C8T6开发板 点亮LED灯
- lucene源码分析(6)Query分析
- UDP socket编程中使用connect
- Visual Studio 即时窗口实用技巧
- golang 切片slice使用总结(动态数组、cap与len区别)
- SQLServer无法使用特殊主体'sa'的解决
- 混合云存储:大数据应用的上云之道
- textCNN和lightGBM模型对景区口碑评价进行情感分析
- 227.基本计算器II
- easyclick联众打码
- C#—— 身份证验证方法
- Qt制作透明背景图片与裁剪图片
- 计算机 网络发现不了电脑,电脑搜不到无线网络怎么办
- IOI2017 Day1 Toy Train 题解
- 安装监控的地方没有WiFi,没有无线网络,如何实现远程监控?
- matlab gui设计入门与实战,matlab gui编程教程
- mount.nfs: mount system call failed问题解决
- Windows 检测PPT WPS 幻灯片播放并获取窗口句柄
- RT-thread应用讲解——FLASH分区