apache支持URL中文字符

小白兔晒黑了 / 2024-10-10 / 原文

apache支持中文,需要另外的插件支持。mod_encoding.安装mod_encoding需要gcc编译器,要确保系统已经安装了该编译器。
gcc编译器安装

yum install gcc

 

1.mod_encoding 下载

mod_encoding_64.tgz文件下载

https://pan.baidu.com/s/17ge2EH5Wg-60kDrKCpEsTg

2.安装mod_encoding

 

tar zxfv mod_encoding_64.tgz
cd mod_encoding_64
patch -p0 < mod_encoding.c-apache2.2-20060520.patch

#进入lib目录,安装iconv_hook
cd lib/ 
chmod 755 configure
./configure --prefix=/usr
make
make install
ldconfig
cd …
chmod 755 configure、

#其中 --with-apxs更换称自己apache的路径
./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook=/usr/include 

make
gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook

#复制mod_encoding.so 到apache的modules目录
cp mod_encoding.so /etc/httpd/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

5 参考

https://blog.51cto.com/qingwang/2326438