Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2787893
  • 博文数量: 423
  • 博客积分: 7770
  • 博客等级: 少将
  • 技术积分: 4766
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 11:58
个人简介

Oracle/DB2/Postgresql/Mysql/Hadoop/Greenplum/Postgres-xl/Mongodb

文章分类

全部博文(423)

文章存档

2019年(3)

2018年(6)

2017年(27)

2016年(23)

2015年(30)

2014年(16)

2013年(31)

2012年(73)

2011年(45)

2010年(14)

2009年(30)

2008年(30)

2007年(63)

2006年(32)

分类: LINUX

2009-05-07 17:43:55

Linux上的Apache默认不支持中文名的文件下载,有一段时间让我很郁闷,因为一个项目中,客户要求能够下载中文名的文件,后来不得已在程序里面做处理得以解决,但一直有点不甘心,觉得Apache肯定可以支持的,刚好最近在网上看到了mod_encoding这个模块,MS这是个日本人写的(先Bs一下日本,然后把他们的好东西拿来用 )。
   首先从下载文件:mod_encoding-20021209.tar.gz 这个模块包,这个包默认是支持Apache 1.3.X的,如果想在Apache2上使用的话,需要在下载另外一个文件文件,在下载
   配置步骤如下:
#cp mod_encoding-20021209.tar.gz /usr/local/
#cd /usr/local/
#tar -zxvf mod_encoding-20021209.tar.gz
如果是Apache2
#cp mod_encoding.c.apache2.20020616 /usr/local/mod_encoding-20021209/mod_encoding.c
# cd mod_encoding-20021209/lib
# ./configure
# make
# make install
# vi /etc/ld.so.conf
在最下面添加/usr/local/lib 保存退出。
#PATH="$PATH:/sbin"
#ldconfig
#cd /usr/local/mod_encoding-20021209
#./configure --with-apxs=/www/bin/apxs --with-iconv-hook=/usr/local/include
上面的/www修改为你的Apache安装目录
#make
#ls –l
查看是否已经生成了mod_encoding.o文件,如果有,则make成功继续下边的操作。
#gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
#cp mod_encoding.so /usr/lib/httpd/modules/mod_encoding.so
在配制Apache配置文件
#vi /www/conf/httpd.conf
在文件最后添加:
LoadModule encoding_module /usr/lib/httpd/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
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312

大功告成,重启Apache之后,怎么样?以上方法在RedHat 9上测试通过
阅读(1445) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~