Linux下Apache支持中文URL

将网站迁移到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服务,大功告成!

posted on 2011-08-05 09:19  huiy  阅读(3257)  评论(0编辑  收藏  举报

导航