Apache、NGINX支持中文URL

Apache(32位):
安裝環境:CentOS 5.6 + Apache 2.2.15

安裝結果:安裝後支持「中文圖片、文件名」連接直接打開
如下爲安裝過程:
一、下載安裝包php

  1. wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz


二、直接解壓html

  1. tar zxvf mod_encoding-2.2.0-1.i386.tar.gz



     看到2個rpm安裝包,進行安裝linux

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



三、用 find / -name httpd.conf 找到apache配置文件httpd.conf,vi編輯加入如下內容nginx

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



保存退出
四、重啓apacheapache

  1. service httpd restart


五、完成!


注:若是安裝的是WDCP,重啓apache會失敗,須要將mod_encoding.so複製到/www/wdlinux/httpd-2.2.22/modules下,
命令:windows

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





Apache(64位):
————————————————————-

此方案用於解決Apache軟件對中文網址、中文圖片、文件名的支持問題。
經過測試環境:64位CentOS5.5 + Apache2.2.15
————————————————————-
下載 mod_encoding_64.tar.gz
源碼包由吳世昌整理,已經包含了apache2.2所需的補丁。
2011.9.20由Hostloc.com的Captain修改補充。
————————————————————-
一、安裝gcc組件


測試

  1. yum install gcc -y




二、下載壓縮包編碼

  1. wget http://d.nicwind.com/files/mod_encoding_64.tar.gz




三、將壓縮包解壓,進行編譯spa

  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 /usr/sbin/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 /usr/lib/httpd/modules



注:/usr/lib/httpd/modules爲apache的modules目錄,能夠用rest

  1. find / -name modules

找出這個目錄的路徑
注意把/usr/lib/httpd/modules改爲你的apache模塊存放路徑。 

四、完成以上操做後,再修改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



保存,退出

五、重啓apache

 

  1. service httpd restart

 

六、完成

注:若是安裝的是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
複製代碼

 

Nginx:

1、肯定你的Linux系統是UTF編碼,Root登陸SSH:

 

  1. env|grep LANG
  2. LANG=en_US.UTF-8
複製代碼

 

2、NGINX配置文件裏默認編碼設置爲utf-8

 

  1. server
  2. {
  3. listen 80;
  4. server_name xxxx.com ;
  5. index index.html index.htm index.php;
  6. root /usr/local/nginx/html/inginx.com;
  7. charset utf-8;
  8. }

 

 

3、若是使用putty
windows –> translation –>UTF-8

mkdir 中文目錄名
echo ‘中文目錄名’ > 中文目錄名/中國.html

4、若是是用securecrt 上傳文件,請選擇 回話–>外觀–UTF-8
若是是FTP軟件也將默認編碼設置爲TUF-8

5、若是上傳的文件名出現亂碼顯示
執行

 

  1. for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done

 

完畢。

相關文章
相關標籤/搜索