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: