apache2.2支持URL中文字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache2.2支持URL中文字符相关的知识,希望对你有一定的参考价值。

网站环境:
OS: centos6.9 X64
apache: 2.2.15

网站转移到新环境,客户反映新闻的一些图片无法正常显示。查看URL路径发现调用的图片是中文名称。
网上查下,apache支持中文,需要另外的插件支持。mod_encoding.安装mod_encoding需要gcc编译器,要确保系统已经安装了该编译器。

gcc编译器安装
#yum install gcc

1.mod_encoding 下载
mod_encoding_64.tgz文件下载
2.安装mod_encoding
#tar zxfv mod_encoding_64.tgz
#cd mod_encoding_64
#patch -p0 < mod_encoding.c-apache2.2-20060520.patch
#cd lib/ 进入lib目录,安装iconv_hook
#chmod 755 configure
#./configure --prefix=/usr
#make
#make install
#ldconfig
#cd ..
#chmod 755 configure
#./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook=/usr/include 其中 --with-apxs更换称自己apache的路径
#make
#gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
#cp mod_encoding.so /etc/httpd/modules/ 复制mod_encoding.so 到apache的modules目录
3.编译httpd.conf文件,添加如下代码:

LoadModule encoding_module modules/mod_encoding.so

<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft . DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .
DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
</IfModule>

4.重启apache

以上是关于apache2.2支持URL中文字符的主要内容,如果未能解决你的问题,请参考以下文章

ApacheNGINX支持中文URL

浏览器支持 URL 中的 UTF8 编码字符

ASP.net MVC 对带有连字符的 URL 的支持

如何在页面加载时处理支持 bean 中的 GET 查询字符串 URL 参数?

密码中有特殊的字符IOS如何处理 IOS中URL包含中文参数的问题

url参数中带有中文时出现字符乱码