Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 架构 > Apache > 正文

CentOS服务器下让Apache2支持中文URL

时间:2016-06-26 12:24 来源:网络整理 作者:linux操作系统 阅读:

些客户用了我们带apache的系统模板后无法支持中文URL,今天以我们带apache的系统模板为例,简单的说一下如何让Apache2支持中文URL。
测试环境: centos5.5+apache2+mod_encoding
第一步:下载文件解压

1 2 wget http://www.vpsyou.com/sources/mod_encoding.zip unzip mod_encoding.zip

第二步:iconv_hook编译和安装, 【linux命令大全】 ,安装mod_encoding前首先需要安装iconv_hook。

1 2 3 4 5 cd mod_encoding/lib ./configure make su make install

完成上面操作后,iconv_hook相关so文件放到/usr/local/lib下面。
要操作系统系统能够搜索到该so文件,需要完成一下几行操作
打开/etc/ld.so.conf文件,添加一行指向iconv_book的所在路径,即”/usr/local/lib”(仔细查看如果有则可以跳过)

1 vi /etc/ld.so.conf

加入:

1 /usr/local/lib

[Esc]、[:]、[w]、[q] 保存退出。
继续以下步骤:

1 2 PATH="$PATH:/sbin" ldconfig

第三步:apxs工具安装
编译mod_encoding时,必须要有apxs,httpd-devel中包括创建和安装扩展模块的apxs工具。如果是你安装了Apache,检查${APACHE_HOME}/bin/下是否存在apxs,如果存在则略过该步无需自己安装该程序包,如果尚未安装,则需要自己手动安装httpd-devel。

1 apt-get install http-devel

我们带apache系统模板已经安装,路径为:/usr/local/apache2/bin/apxs
第四步: mod_encoding模块的编译
入mod_encoding.zip的解压目录,即mod_encoding

1 2 ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-iconv-hook=/usr/local/include make

注意apxs路径替换为你自己的, 【linux系统】 ,如果你使用的是我们的模板则不用改动

1 ls -l mod_encoding.o

查看是否已经生成了mod_encoding.o文件, 【linux命令大全】 ,如果是,则make成功继续下边的操作。

1 gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook

生成mod_encoding.so文件,将该文件拷贝到你的模块存放目录,一般为${APACHE_HOME}/modules/#

1 cp mod_encoding.so /usr/local/apache2/modules/mod_encoding.so

第五步:httpd.conf的設定

1 vi /usr/local/apache2/conf/httpd.conf

在最后加入:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 LoadModule headers_module modules/mod_headers.so LoadModule encoding_module modules/mod_encoding.so IfModule> <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>

如果mod_headers.so之前已经加载 则可以注释掉
最后重启apache

1 service httpd restart

测试地址:让Apache2支持中文URL.html

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《CentOS服务器下让Apache2支持中文URL》技术文章,《CentOS服务器下让Apache2支持中文URL》详细使用和说明,有时《CentOS服务器下让Apache2支持中文URL》可能不完善、敬请谅解!如果《CentOS服务器下让Apache2支持中文URL》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片