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

 更新时间:2016年01月27日 15:56:16   投稿:goldensun  
这篇文章主要介绍了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

相关文章

  • 网页502 Bad Gateway nginx/1.20.1报错的原因与解决方法

    网页502 Bad Gateway nginx/1.20.1报错的原因与解决方法

    502 bad gateway nginx/1.20.1 是一个错误提示,通常出现在访问网站时出现问题,这篇文章主要给大家介绍了关于网页502 Bad Gateway nginx/1.20.1报错的原因与解决方法,需要的朋友可以参考下
    2024-03-03
  • 详解Nginx服务器的配置中开启文件Gzip压缩的方法

    详解Nginx服务器的配置中开启文件Gzip压缩的方法

    这篇文章主要介绍了Nginx服务器的配置中开启文件Gzip压缩的方法,可以对CSS和JavaScript以及各种图片等web传输的文件进行压缩,需要的朋友可以参考下
    2016-01-01
  • Nginx出现403 Forbidden的四种解决方案分享

    Nginx出现403 Forbidden的四种解决方案分享

    这篇文章主要给大家分享了关于Nginx出现403 Forbidden的四种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 修改Nginx源码实现worker进程隔离实现详解

    修改Nginx源码实现worker进程隔离实现详解

    这篇文章主要为大家介绍了修改Nginx源码实现worker进程隔离实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Nginx 启动、停止、重启、升级操作命令收集

    Nginx 启动、停止、重启、升级操作命令收集

    也许你不知道什么是Nginx,Nginx是一个WEB服务器,如IIS那样,现在好多门户都在使用了Nginx作为WEB服务器了,Nginx在Linux系统下跑很优秀,强过其它的WEB服务端,还可以做负载均衡,很不错吧。
    2010-10-10
  • Nginx与Lua灰度发布的实现

    Nginx与Lua灰度发布的实现

    这篇文章主要介绍了Nginx与Lua灰度发布的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Linux centos7环境下Nginx安装教程

    Linux centos7环境下Nginx安装教程

    这篇文章主要为大家详细介绍了Linux centos7环境下Nginx安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Nginx服务器中用于生成缩略图的模块配置教程

    Nginx服务器中用于生成缩略图的模块配置教程

    这篇文章主要介绍了Nginx服务器中用于生成缩略图的模块配置教程,包括实时生成缩略图到硬盘上的方法讲解,需要的朋友可以参考下
    2016-01-01
  • Nginx ssi合并页面的具体实现

    Nginx ssi合并页面的具体实现

    nginx的ssi模块是一种类似于ASP的基于服务器的网页制作技术,本文主要介绍了Nginx ssi合并页面的具体实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • nginx中文件下载指定保存文件名的配置方法

    nginx中文件下载指定保存文件名的配置方法

    这篇文章主要介绍了nginx中文件文件指定保存文件名的配置方法,可以达到实际文件名和保存的文件名不相同的效果,需要的朋友可以参考下
    2014-07-07

最新评论