Linux&nbspNginx服务器怎么样实现网站不区分大小写

2023-10-16 1214阅读

温馨提示:这篇文章已超过573天没有更新,请注意相关的内容是否还可用!

如果你将跑在Windows下的项目迁移到Linux下,由于Windows操作系统中,文件名是不区分大小写的;而Linux系统是大小写敏感,会导致有些网页出现404情况。第一种方法适用于有规则的或者较少的url需要转换,如果有大量并无规则的请用下面几种方法。Nginx官网已申明perl模块存在内存漏洞的可能),方法如下:。在已经编译的参数后面加上 –with-http_perl_module ,如下:。可能会报如下错误:。lua-nginx-module来自大牛agentzh的开源项目,在Nginx中嵌入Lua语言,使之可以支持强大Lua语法,如下:

如果你将跑在Windows下的项目(如:php)迁移到Linux下,由于Windows操作系统中,文件名是不区分大小写的;而Linux系统是大小写敏感,会导致有些网页出现404情况。

Linux&nbspNginx服务器怎么样实现网站不区分大小写
(图片来源网络,侵删)

解决方法有大概4种:

1、 url rewrite

2、 perl模块

3、 lua模块

4、 ngx_http_lower_upper_case

????第一种方法适用于有规则的或者较少的url需要转换,如果有大量并无规则的请用下面几种方法

????第二、三、四种方法前提是Linux系统本地文件是小写,原理是将url请求转换成小写来处理

????perl模块(不推荐!Nginx官网已申明perl模块存在内存漏洞的可能),方法如下(《lnmp一键安装包》安装后执行下面):

cd lnmp/src/nginx-1.4.4

make clean #清除已经编译出的nginx

# /usr/local/nginx/sbin/nginx -V #获取已编译参数

nginx version: nginx/1.4.4

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)

TLS SNI support enabled

configure arguments: –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_ssl_module –with-http_flv_module –with-http_gzip_static_module –with-ld-opt=\’-ljemalloc\’

????在已经编译的参数后面加上 –with-http_perl_module ,如下:

./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module \\

–with-http_ssl_module –with-http_flv_module –with-http_gzip_static_module –with-ld-opt=\’-ljemalloc\’ \\

–with-http_perl_module

????可能会报如下错误:

Can\’t locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).

BEGIN failed–compilation aborted.

./configure: error: perl module ExtUtils::Embed is required

????解决方法(CentOS):

yum -y install perl-devel perl-ExtUtils-Embed

????再次编译:

make clean

./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module \\

–with-http_ssl_module –with-http_flv_module –with-http_gzip_static_module –with-ld-opt=\’-ljemall活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看oc\’ \\

–with-http_perl_module

make

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx$(date +%m%d) #备份nginx原文件

service nginx stop

make install #直接安装,如果只覆盖nginx,会有报错

/usr/local/nginx/sbin/nginx -t

修改配置主文件(/usr/local/nginx/conf/nginx.conf):

perl_set $url \’

sub {

my $r = shift;

my $re = lc($r->uri);

return $re;

}

\’;

修改虚拟主机配置文件(如:/usr/local/nginx/conf/vhost/demo.linuxeye.com.conf):

if ($uri ~ [A-Z]){

rewrite ^(.*)$ $url last;

}

lua模块(推荐!)

lua-nginx-module来自大牛agentzh的开源项目,在Nginx中嵌入Lua语言,使之可以支持强大Lua语法,如下:

cd lnmp/src

wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz

wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz #ngx_devel_kit

wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.9.2.tar.gz #nginx_lua_module

tar xzf LuaJIT-2.0.2.tar.gz

tar xzf v0.2.19.tar.gz

tar xzf v0.9.2.tar.gz

cd LuaJIT-2.0.2

make && make install

export LUAJIT_LIB=/usr/local/lib

export LUAJIT_INC=/usr/local/include/luajit-2.0

cd nginx-1.4.4

make clean #清除已经编译出的nginx

# /usr/local/nginx/sbin/nginx -V #获取已编译参数

nginx version: nginx/1.4.4

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)

TLS SNI support enabled

configure arguments: –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_ssl_module –with-http_flv_module –with-http_gzip_static_module –with-ld-opt=\’-ljemalloc\’

重新编译Nginx:

./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module \\

–with-http_ssl_module –with-http_flv_module –with-http_gzip_static_module –with-ld-opt=-ljemalloc \\

–add-module=../lua-nginx-module-0.9.2 –add-module=../ngx_devel_kit-0.2.19

make

《Linux&nbspNginx服务器怎么样实现网站不区分大小写》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]