Linux下Apache支持中文URL

在将网站迁移至CentOS后,遇到中文URL无法访问的问题。通过安装和配置Apache模块mod_encoding,实现了对中文URL的支持。首先安装iconv_hook和mod_encoding的RPM包,然后在httpd.conf中开启mod_header模块,并编辑mod_encoding.conf进行配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          将网站迁移到CentOS下后,突然发现,带中文的目录以及文件无法通过URL来访问了。 困扰了好几天,终于找到了解决方法。

          mod_encoding是日本人开发的一个Apache模块,用以支持中文、日文等非英文URL。如:http://www.test.com/宝莱坞.mp3

         

           1、安装mod_encoding

需要下载两个rpm包(iconv_hook-1.0.0-1.i386.rpm和mod_encoding-2.2.0-1.i386.rpm):

wget http://www.xiit.cn/attachments/tools/iconv_hook-1.0.0-1.i386.rpm
wget http://www.xiit.cn/attachments/tools/mod_encoding-2.2.0-1.i386.rpm

用rpm命令安装:

rpm -ivh iconv_hook-1.0.0-1.i386.rpm
rpm -ivh mod_encoding-2.2.0-1.i386.rpm

            2、配置:

               (1) 开启mod_encoding支持,需要开启Apache自带的mod_header模块

                    在/etc/httpd/conf/httpd.conf中,

                    LoadModule headers_module modules/mod_headers.so //一般默认为开启,无需更改

  (2) 安装mod_encoding RPM包时会自动生成mod_encoding.conf

        vi /etc/httpd/conf.d/mod_encoding.conf

LoadModule encoding_module modules/mod_encoding.so
<IfModule mod_encoding.c>
    EncodingEngine on
    NormalizeUsername on
    SetServerEncoding GBK
    DefaultClientEncoding UTF-8 GBK GB2312
    AddClientEncoding "cadaver/" UTF-8 GBK GB2312
</IfModule>

保存后,重启Apache服务,大功告成!  


       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值