linux系统Apache、NGINX支持中文文件名解决方案

我的Apache环境是WDCP一键安装的。

Apache

————————————————————-

此方案用于解决Apache软件对中文网址、中文图片、文件名的支持问题。

通过测试环境:64位CentOS5.5 + Apache2.2.15

 

1、安装gcc组件

  1. # yum install gcc -y

2、根据对应版本下载mod_encoding

源码包由网友整理,已经包含了apache2.2所需的补丁。

3、将压缩包解压,进行编译

  1. # tar zxvf mod_encoding_64.tar.gz
  2. # cd mod_encoding_64
  3. # patch -p0 < mod_encoding.c-apache2.2-20060520.patch
  4. # cd lib
  5. # chmod 755 configure
  6. # ./configure --prefix=/usr
  7. # make && make install
  8. # ldconfig
  9. # cd ../
  10. # chmod 755 configure
  11. # cp -p /www/wdlinux/apache/bin/apxs /usr/bin
  12. # ./configure --with-apxs=/usr/bin/apxs --with-iconv-hook=/usr/include
  13. # make
  14. # gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
  15. # cp mod_encoding.so /www/wdlinux/httpd-2.2.24/modules

注:/usr/lib/httpd/modules为apache的modules目录,可以用命令

  1. # find / -name modules

找出这个目录的路径

注意把/usr/lib/httpd/modules改成你的apache模块存放路径。

4、完成以上操作后,再修改apache的配置文件(可以用find / -name httpd.conf,找出httpd.conf文件的路径),把下面的内容添加到apache的配置文件httpd.conf中。

  1. LoadModule encoding_module modules/mod_encoding.so
  2. EncodingEngine on
  3. NormalizeUsername on
  4. SetServerEncoding GBK
  5. DefaultClientEncoding UTF-8 GBK GB2312
  6. AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
  7. AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
  8. AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312

保存,退出

5、重启apache

  1. # service httpd restart

6、完成

注:如果安装的是WDCP,重启apache会失败,需要将mod_encoding.so复制到/www/wdlinux/httpd-2.2.22/modules下,命令:

  1. # cp /usr/lib/httpd/modules/mod_encoding.so /www/wdlinux/httpd-2.2.22/modules

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: