使用mod_encoding使apache支持中文附件名
2016-05-27 10:13
627 查看
本地测试环境为apache2.2.31,PHP5.3.27,操作系统为RHEL6.4x86_64,使用mod_encoding工具使apache支持中文附件名,比如http://www.example.com/合同.rar
1.先修改操作系统的语言环境,使linux本地支持中文,可以查看中文文件名
修改/etc/sysconfig/i18n文件
将LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改为
下载安装文件和补丁
1.先修改操作系统的语言环境,使linux本地支持中文,可以查看中文文件名
修改/etc/sysconfig/i18n文件
将LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改为
LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SYSFONT="lat0-sun16"2.源码编译mod_encoding
下载安装文件和补丁
wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz wget tar xf mod_encoding-20021209.tar.gz cd mod_encoding-20021209将补丁文件mod_encoding.c.apache2.20040616覆盖本地目录中的mod_encoding.c
cp ../mod_encoding.c.apache2.20040616 ./mod_encoding.c直接在软件目录mod_encoding-20021209下载第二个补丁文件
wget http://www.aconus.com/~oyaji/faq/mod_encoding.c-apache2.2-20060520.patch[/code]应用补丁文件patch -p0 <mod_encoding.c-apache2.2-20060520.patch编译安装前需要首先安装iconv_hook,否则会报错
进入lib目录cd lib/ #pwd /server/tools/mod_encoding-20021209/lib ./configure --prefix=/usr make make install ldconfig编译安装mod_encoding,我的apache目录为/application/apache,需要安装apache时加入apxs模块,编译时无需make installcd .. ./configure --with-apxs=/application/apache/bin/apxs --with-iconv-hook=/usr/include make gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook将生成的mod_encoding.so模块复制到apache的modules目录cp mod_encoding.so /application/apache/modules/
3.修改apache配置文件
需要headers_module支持,查看apache已经编译的模块# apachectl -l|grep mod_head mod_headers.c我的apache本身已经带了,就不需要添加此模块了,如果没有,需要在httpd.conf中加入下面一行,前提是模块文件存在LoadModule headers_module modules/mod_headers.so修改apache主配置文件httpd.conf,加入如下内容LoadModule encoding_module modules/mod_encoding.so Header add MS-Author-Via "DAV" EncodingEngine on NormalizeUsername on SetServerEncoding GBK DefaultClientEncoding UTF-8 GBK GB2312 AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312 AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312第2-8行可以放到配置文件末尾
检查语法,并重启apache,测试中文附件能否正常下载,相关附件也可以直接从本文中下载,已经打包
相关文章推荐
- logback取代 log4j的理由
- 项目中用到logback的例子
- Logback配置详解(三)
- 大数据分析界的“神兽”Apache Kylin初解
- Logback配置详解(二)
- Logback配置详解(一)
- Log4j配置详解
- Log4j的详细讲解
- 【wuzhicms】apache 设置禁止访问某些文件或目录
- Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.mapping.DatabaseIdProvider
- 解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题
- java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
- Inspiration from Apache HAWQ
- 架构设计:系统间通信(11)——RPC实例Apache Thrift 上篇
- Apache Curator Lock 简单示例
- apache虚拟主机
- Cannot find class [org.apache.commons.dbcp.BasicDataSource]问题
- Apache Curator Leader选举 简单示例
- apache 配置cgi与www目录同时可用
- Apache POI使用详解