无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[教程] Apache、NGINX支持中文URL图片、文件名的终极解决方案

本帖最后由 vzandy 于 2013-3-15 15:40 编辑

Apache(32位):
安装环境:CentOS 5.6 + Apache 2.2.15

安装结果:安装后支持“中文图片、文件名”链接直接打开
以下为安装过程:
1、下载安装包
  1. wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz
复制代码

2、直接解压
  1. tar zxvf mod_encoding-2.2.0-1.i386.tar.gz
复制代码


     看到2个rpm安装包,进行安装
  1. rpm -ivh iconv_hook-1.0.0-1.i386.rpm
  2. rpm -ivh mod_encoding-2.2.0-1.i386.rpm
复制代码


3、用 find / -name httpd.conf 找到apache配置文件httpd.conf,vi编辑加入以下内容
  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
复制代码


保存退出
4、重启apache
  1. service httpd restart
复制代码

5、完成!


注:如果安装的是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
复制代码




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

此方案用于解决Apache软件对中文网址、中文图片、文件名的支持问题。
通过测试环境:64位CentOS5.5 + Apache2.2.15
————————————————————-
下载 mod_encoding_64.tar.gz
源码包由吴世昌整理,已经包含了apache2.2所需的补丁。
2011.9.20由Hostloc.com的Captain修改补充。
————————————————————-
1、安装gcc组件


  1. yum install gcc -y
复制代码



2、下载压缩包
  1. wget http://d.nicwind.com/files/mod_encoding_64.tar.gz
复制代码



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 /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目录,可以用
  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
复制代码

Nginx:

一、确定你的Linux系统是UTF编码,Root登录SSH:

  1. env|grep LANG
  2. LANG=en_US.UTF-8
复制代码

二、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. }
复制代码


三、如果使用putty
windows –> translation –>UTF-8

mkdir 中文目录名
echo ‘中文目录名’ > 中文目录名/中国.html

四、如果是用securecrt 上传文件,请选择 回话–>外观–UTF-8
如果是FTP软件也将默认编码设置为TUF-8

五、如果上传的文件名出现乱码显示
执行

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

完毕。

以上都是在互联网收集整理。已经测试过完全没有问题, 上次我在论坛发过两次求助中文URL教程,得到的回复寥寥无几,管理员的回答也有点看不懂,就自己变摸索变找教程了

返回列表