工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

Linux下让apache支持网址中文名字

今天发现,FTP里的中文名字的文件都不能下载.之前就是win的,后来改到Linux,用NTFS加载,再后来,也转为Linux的格式了.

刚弄好时,好像是能下载的,都不知当时是怎么检查的了.而且,前两天才发现,上次整理的过程中,还丢了很多的文件,唉,可现在全都没了.真可惜,有点欲哭无泪的感觉,同时也发现这些文件都不能下载,怪事了

后在网上搜了下资料,就发现了下面这些.

linux下的apache,不支持中文地址的

http://localhost/下载/     或 http://localhost/下载/电子书.rar

要支持中文名字,安装个 mod_encoding 模块就可以了

wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz

http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616

# tar zxfv mod_encoding-20021209.tar.gz
# cp mod_encoding.c.apache2.20020616 mod_encoding-20021209/mod_encoding.c

■ iconv_hook编译和安装

安装mod_encoding前首先需要安装iconv_hook。

$ cd mod_encoding-20021209/lib$ ./configure$ make# make install
完成上面操作后,iconv_hook相关so文件放到/usr/local/lib下面。
要操作系统系统能够搜索到该so文件,需要完成一下几行操作
打开/etc/ld.so.conf文件,添加一行指向iconv_book的所在路径,即"/usr/local/lib"

# vi /etc/ld.so.conf/usr/local/lib
[Esc]、[:]、[w]、[q] 保存退出。

# PATH="$PATH:/sbin"

# ldconfig

■ mod_encoding模块的编译
进入mod_encoding-20021209.tar.gz的解压目录,即mod_encoding-20021209

# ./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook=/usr/local/include/iconv_hook/
# make
#ls -l mod_encoding.o
查看是否已经生成了mod_encoding.o文件,如果是,则make成功继续下边的操作。
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook







生成mod_encoding.so文件,将该文件拷贝到你的模块存放目录,一般为${APACHE_HOME}/modules/
# cp mod_encoding.so /usr/local/apache/modules/mod_encoding.so

■ httpd.confd的设定

LoadModule encoding_module modules/mod_encoding.so

<IfModule mod_encoding.c>
  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
</IfModule>

如顺利完成,上面那些中文都可以下载了

这里只是将所有的中文都转换成UTF-8格式的传输了,我想,如果在加载分区的时候,指定为UTF-8字符来加载,也许可以不用装这个也可以,没测试过,不好下定论.

参考原文 http://blog.51766.com/page/zsc/Weblog/1141808884223?catname=

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):