Nginx 忽略URL大小写配置

简介:

有时候会有URI忽略大小写的需求,例如一个网址http://127.0.0.1/abc.jpg。一般URI是区分大小写的,这时候如果使用/ABc.jgp、/abC.JPG这样的写法,可能就访问不到abc.jpg这个资源。这里,我们讨论一下如何忽略URI中的大小写问题,使之不管大写,小写,都可以准确的被nginx识别:


1:安装perl开发包。

1
# yum -y install perl*

 

2:重新编译nginx,添--with-http_perl_module,使其支持perl

 

3:修改nginx配置文件,在http{ }选项中添加忽略大小写的语法。

1
2
3
4
5
6
# vinginx.conf
  perl_set   $url '
         sub {
           my $r =  shift ;
           my $re = lc($r->uri);
           return  $re;}';


4:应用该语法配置,在server{}选项中添加如下配置:

1
2
     if  ($uri ~ [A-Z]){
        rewrite ^(.*)$ $url last;


 也可对单独的目录进行配置:

1
2
3
4
location  /xxx {   
        if ($uri ~ [A-Z]){
         rewrite ^(.*)$ $url last;
      }










本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1826709,如需转载请自行联系原作者
目录
相关文章
|
25天前
|
运维 前端开发 应用服务中间件
LNMP详解(八)——Nginx动静分离实战配置
LNMP详解(八)——Nginx动静分离实战配置
28 0
|
1月前
|
应用服务中间件 nginx
Nginx中如何配置中文域名?
Nginx中如何配置中文域名?
44 0
|
23天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
96 0
|
17小时前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
9 0
|
4天前
|
安全 应用服务中间件 网络安全
SSL原理、生成SSL密钥对、Nginx配置SSL
现在,你的Nginx虚拟主机应该已经配置了SSL,可以通过HTTPS安全访问。确保在生产环境中使用有效的SSL证书来保护通信的安全性。
15 0
|
6天前
|
域名解析 缓存 负载均衡
Nginx正向代理域名的配置
Nginx正向代理域名的配置
|
7天前
|
前端开发 JavaScript 应用服务中间件
修改Jeecg-boot context-path(附加图片+Nginx配置)
修改Jeecg-boot context-path(附加图片+Nginx配置)
14 0
|
17天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
25 0
|
18天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
33 0
|
27天前
|
应用服务中间件 nginx
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
nginx配置访问qicaitun.com强制跳转www.qicaitun.com
9 0