nginx实现将所有的url转换为小写

nginx的ngx_http_lower_upper_case模块可以大小写转换,我们可以通过和location配合来实现url的大小写转换。

  ngx_http_lower_upper_case模块下载地址: https://github.com/replay/ngxhttplowerupperca

直接使用git clone https://github.com/replay/ngxhttplowerupperca       下载即可。

 

安装git

yum -y install  git

下载模块

git clone  https://github.com/replay/ngxhttplowerupperca

查看nginx编译时的参数

/usr/local/nginx/sbin/nginx -V

进入到nginx源码目录

./configure --prefix=.........(安装时那些东西)  --add-module=/path/ngx_http_lower_upper_case-master(模块下载到本地的路径)

编译

make

替换nginx文件

cp ./objs/nginx /usr/local/nginx/sbin/nginx  

然后查看有没有安装成功

/usr/local/nginx/sbin/nginx -V

然后可以修改nginx.conf或者xxxx.com.conf来实现url转换

vi /usr/local/nginx/conf/nginx.conf

匹配到url中包含大写英文字母的,就全部转换为小写,然后通过伪静态把访问的url301到小写的url上。

    location ~ [A-Z+] {
     lower $var1 $request_uri;
     rewrite ^(.*)/ $var1 permanent;
    }

我这个例子是把所有的大写变成小写,如果只是想变部分的,直接改location即可,如果要把url全部转换为大写的url,把lower换成upper ,需要注意的是,lower/upper不能写在if里,我写在if里提示语法错误,未识别,不知道是版本问题还是都这样。

 

注意:安装完模块之后,写完上面的规则了,需要重启nginx,-s reload是不好使的,需要重启,这个坑我已经踩过了。

转自:https://blog.csdn.net/wojiuwangla/article/details/84633166

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值