Nginx 忽略URL大小写配置

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

1:安装perl开发包。

# yum -y install perl*

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

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

# vinginx.conf
 perl_set   $url ‘
        sub {
          my $r = shift;
          my $re = lc($r->uri);
          return $re;}‘;

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

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

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

location /xxx{   
       if($uri ~ [A-Z]){
        rewrite ^(.*)$ $url last;
     }
时间: 2024-10-07 14:26:22

Nginx 忽略URL大小写配置的相关文章

apache mod_speling.so 忽略URL大小写(自动纠错)

apache mod_speling.so 忽略URL大小写(自动纠错) 打开配置文件  httpd.conf 加入 LoadModule speling_module modules/mod_speling.so 在 <Directory /></Directory> 加入 CheckSpelling on 如: <Directory /> CheckSpelling on //开启Speling 忽略URL大小写 Options FollowSymLinks All

Nginx服务器作反向代理实现内部局域网的url转发配置

情景 由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80端口的映射在访问的时候要域名加上端口,比较麻烦.并且公司入口路由最多只能做20个端口映射.肯定以后不够用. 然后k兄就提议可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用

Nginx中虚拟主机配置

一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc/hosts 格式: ip地址 域名 eg: 192.168.3.172 www.gerry.com 2.在nginx.conf文件中配置server段 server {   listen 80;   server_name www.gerry.com; # 域名区分       location

nginx基础及其相关配置

nginx基础 Nginx的基本架构 一个master主进程,生成一个或多个worker子进程 事件驱动 epoll(边缘触发),用于Linux kqueue:用于BSD /dev/poll: IO复用器:select.poll.rt signal 支持sendfile及sendfile64 支持AIO 支持mmap 名词解释: sendfile机制:正常响应报文路径"内核空间-->用户空间-->内核空间-->客户端",如果报文在用户空间不做任何改变时,路径不再经由用

Nginx简介与基础配置

何为Nginx? Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.最初是为了解决C10k的问题,由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日. 其特性有: √模块化设计,较好的扩展性 Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux.FreeBSD.Solaris.Mac OS X.AIX以及M

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

12.13 Nginx防盗链cd /usr/local/nginx/conf/vhostvi test.com.conf将以上内容复制到下图位置测试,成功前提data/wwwroot/test.com目录下要有1.gif12.14 Nginx访问控制cd /usr/local/nginx/conf/vhostvi test.com.confFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="Nginx

49.Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理

一.Nginx防盗链 配置如下,可以和上面的配置结合起来 vim /usr/local/nginx/conf/vhost/test.com.conf location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ //location后面的*是忽略大小写 { expires 7d; valid_referers none blocked server_names *.test.com ; //白名单 if (

四十九、Nginx防盗链、Nginx访问控制、Nginx解析PHP相关配置、Nginx代理

一.Nginx防盗链 必须和"不记录日志和过期时间"结合在一起,因为它们同时用到了location. # vim /usr/local/nginx/conf/vhost/test.com.conf location ~* ^.+\.(gif|jpg|png|bmp|swf|jpeg|flv|rar|zip|doc|pdf|gz|bz2|xls)$ { expires 7d;    过期时间 valid_referers none blocked server_names *.test.

Nginx详解十:Nginx场景实践篇之Nginx静态资源场景配置

一.静态资源WEB服务 1.静态资源类型:非服务器动态运行生成的文件 2.静态资源服务场景-CDN 假设静态资源存储中心在云南,用户在北京去请求一个文件,那么就会造成一个传输的延时,而如果Nginx同一把静态资源提前分发给各地区的代理,而各地区的用户直接访问本地区代理的静态资源,延时就会非常小,可以忽略不计 这里为了方便区分,把之前的auth_mod.conf 配置名改为static_server.conf 3.配置语法 : - 文件读取(除了sendfile方式外,Nginx还有--with-