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

完毕。


Apache、NGINX支持中文URL的更多相关文章

  1. 配置NGINX支持中文URL 中文文件名称或文件夹404无法訪问的解决方法

    NGINX不须要象apache那样要单独载入支持中文模块. # cat /etc/sysconfig/i18n  LANG="en_US.UTF-8" SYSFONT=" ...

  2. Nginx 使用中文URL,中文目录路径

    Nginx 使用中文URL,中文目录路径 分类: linux2012-05-03 11:04 2672人阅读 评论(0) 收藏 举报 nginxurl服务器translationcentosserve ...

  3. AFNETWorking 不支持中文URL请求

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; min-height: 16.0px } p.p ...

  4. Linux让Apache支持中文URL图片/文件名

    需要用到iconv_hook和mod_encoding Apache(32位): 安装环境:CentOS 5.6 + Apache 2.2.15 (Apache2.4同样适用) 安装结果:安装后支持“ ...

  5. 让Linux中的Nginx支持中文文件名

    原文:https://blog.csdn.net/soeben/article/details/79525964 首先你的服务器需要安装了UTF-8字符集在命令行里输入env|grep LANG如果显 ...

  6. 再谈Nginx Rewrite, 中文URL和其它

    上次谈到过Nginx和中文URL的问题,这几天又加深了认识. 多分享几个关于Nginx Rewrite的经验. Nginx匹配指定中文URL的方法:rewrite "(*UTF8)^x{66 ...

  7. Apache 后台服务器(主要处理php及一些功能请求 如:中文url)   Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)   Lighttpd 图片服务器   总体来说,随着nginx功能得完善将使他成为今后web server得主流。

    Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...

  8. Nginx中文url出现404问题

    Nginx中文url出现404问题 前提条件检查,如我的系统centos,需要检查系统字符集是不是支持utf-8, 怎么配置可以参考这个帖子 https://www.vpser.net/manage/ ...

  9. Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题

    最近遇到了使用Nginx 重写中文UTF8编码路径的问题. 才发现默认情况下Nginx的rewrite是不支持UTF8匹配的. 比如: rewrite ^/(..)$ /2个字符文章.html bre ...

随机推荐

  1. Concurrency vs. Parallelism

    http://getakka.net/docs/concepts/terminology Terminology and Concepts In this chapter we attempt to ...

  2. C#序列化及反序列化Json对象通用类JsonHelper

    当今的程序界Json大行其道.因为Json对象具有简短高效等优势,广受广大C#码农喜爱.这里发一个序列化及反序列化Json对象通用类库,希望对大家有用. public class JsonHelper ...

  3. [OC] 图片平铺

    Tip: self.bgImg.image = [self.bgImg.image resizableImageWithCapInsets:UIEdgeInsetsMake(100, 40, 40, ...

  4. PS切图篇

    一.PS界面设置 1.新建(ctrl+n) 初始化尺寸参数 预设:自定 宽度:1920px 高度:自设(如:2000px) 分辨率:72像素/英寸 颜色:RGB/8位 背景内容:透明 存储为预设 2. ...

  5. Git初步学习

    版本控制系统version control system 多人协作开发 历史记录 恢复到任意历史版本-代码状态 错误恢复 多功能并行开发 版本控制系统分类: 本地版本控制系统---------个人计算 ...

  6. python走起之第九话

    协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来 ...

  7. Gbase数据库备份与还原

    备份命令:cd D:\GeneralData\GBase\Server\bin        回车 后 : d :        回车 后: dump.exe -usysdba(u+用户名) -pbj ...

  8. jsonp的使用

    假设我们已经了解什么是同源策略,以及什么是浏览器的同源策略的限制. 现在我们需要在a.demo.com下的某个页面one.html 里加载不同域b.demo.com下的json数据. 我们都知道用&l ...

  9. 程序设计入门——C语言 第7周编程练习 2 鞍点(5分)(5分)

    2 鞍点(5分) 题目内容: 给定一个n*n矩阵A.矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数.一个矩阵A也可能没有鞍点. 你的任务是找出A的鞍点. 输入格 ...

  10. 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

    对这几个概念模模糊糊,看到一篇文章就记录下来. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了?别担心 ...