Nginx配置编写时支持逻辑运算与大小写字母转换的方法

这篇文章主要介绍了Nginx配置编写时支持逻辑运算与大小写字母转换的方法,其中大小写字母转换是以lower upper case模块来实现,需要的朋友可以参考下

逻辑运算
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模块地址:https://github.com/replay/ngx_http_lower_upper_case/archive/master.zip
ngx_http_lower_upper_case地址:https://github.com/replay/ngx_http_lower_upper_case

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。 下载解压,然后双击安装,跟普通安装程序一样。 安装完毕之后就是需要我们来设置环境变量了 假设jre安装目录为 C:\Program Files (x86)\J
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径。 bbs为论坛程序源代码路径 www为主页程序源代码路径 把相应程序放入上面的路径通过 http://www.youdomain.com 访问