这篇文章主要讲解了“Nginx怎么实现配置编写时支持逻辑运算与大小写字母转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx怎么实现配置编写时支持逻辑运算与大小写字母转换”吧!
逻辑运算
Nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:Nginx: [emerg] invalid condition。
我们可以用变量的方式来间接实现。
要实现的语句:
if ($arg_unitid = 42012 && $uri ~/thumb/){ echo "www.jb51.net"; }
如果按照这样来配置,就会报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.jb51.net"; }
Nginx实现大小写字母转换(ngx_http_lower_upper_case模块)
各种程序或脚本都有实现大小写字母互转的功能,今天讲讲ngx_http_lower_upper_case,功能很简单,至于可以用在什么环境大家可以根据自己的情况.多一种模块多一种解决方案.本模块将字符串转换为大小写然后赋值给变量. 用句俗话来说"存在即合理",软件存在性总有他存在的道理。
1. 安装Nginx模块
--add-module=path/to/circle_gif/directory
具体方法就不再讲述了,可以参考运维生存时间的<如何安装Nginx第三方模块>
2.upper/lower 指令
upper
语法:upper $var string
配置段: location
小些转大写
lower
语法:lower $var string
配置段: location
大写转小写
3. Nginx配置
location /ttlsa_upper_lower { upper $var1 "hello,jb51.net"; lower $var2 "hello,jb51.net"; echo $var1; echo $var2; }
4. 测试
# curl http://test.jb51.net/ttlsa_upper_lower/
hello,jb51.net hello,jb51.net
感谢各位的阅读,以上就是“Nginx怎么实现配置编写时支持逻辑运算与大小写字母转换”的内容了,经过本文的学习后,相信大家对Nginx怎么实现配置编写时支持逻辑运算与大小写字母转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程之家,小编将为大家推送更多相关知识点的文章,欢迎关注!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。