• 【转】让apache支持中文路径或者中文文件


    本帖最后由 狂人阿川 于 2013-4-12 19:13 编辑

    今天在给一美国VPS客户调试他的程序的时候.发现他的网站有中文名称.貌似apache无法认识中文路径,火狐下面能下载他的文件,IE下面不行.....只有自己动手解决,解决方法很简单,但是你如果按照网上搜索的那些货儿捣鼓的话.可能会遇到各种问题..
    阿川今天捣鼓一篇比较全面的错误解决办法..方便大家参考.
    生产环境是centos+LNMPA一键包(一键包来源:www.lnmp.org)
    下载iconv_hook和mod_encoding的RMP包
    1. wget http://d.kiiyi.com/mod_encoding-2.2.0-1.i386.tar.gz
    复制代码
    之后解压他
    1. tar zxvf mod_encoding-2.2.0-1.i386.tar.gz
    复制代码
    之后导入RPM
    1. rpm -ivh iconv_hook-1.0.0-1.i386.rpm
    2. rpm -ivh mod_encoding-2.2.0-1.i386.rpm
    复制代码
    导入的时候,可能还会出现
    1. ldconfig: /usr/lib/libmysqlclient.so.16 is not a symbolic link
    2. ldconfig: /usr/lib/libmysqlclient_r.so.16 is not a symbolic link(不是符号连接)
    复制代码
    没关系啦...



    我们只要在lnmpa的安装包下执行如下命令即可
    1. ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_r.so.16 /usr/lib/libmysqlclient_r.so.16
    2. ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_so.16 /usr/lib/libmysqlclient.so.16
    复制代码
    之后就可以修改httpd.conf了.在httpd.conf中加入如下代码:
    1.     LoadModule encoding_module modules/mod_encoding.so
    2.     <IfModule mod_headers.c>
    3.     Header add MS-Author-Via "DAV"
    4.     </IfModule>
    5.     <IfModule mod_encoding.c>
    6.     EncodingEngine on
    7.     NormalizeUsername on
    8.     SetServerEncoding GBK
    9.     DefaultClientEncoding UTF-8 GBK GB2312
    10.     AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
    11.     AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
    12.     AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
    13.     </IfModule>
    复制代码
    然后重启lnmpa环境...这个时候.你肯定会发现这货出错了..
    1. httpd: Syntax error on line 34 
    2. of /usr/local/apache/conf/httpd.conf: 
    3. Cannot load /usr/local/apache/modules/mod_encoding.so 
    4. into server: /usr/local/apache/modules/mod_encoding.so: 
    5. cannot open shared object file: No such file or directory
    复制代码
    没关系...我们将之前导入的mod_encoding.so(位置在/usr/lib/httpd/modules/下面),复制到/usr/local/apache/modules即可
    1. cp /usr/lib/httpd/modules/mod_encoding.so /usr/local/apache/modules
    复制代码
    之后.重启环境
    1. root/lnmpa restart
    复制代码
    好了.打完收工.祝各位玩的愉快!
  • 相关阅读:
    解决Driver/library version mismatch
    ubuntu 16.04 nfs服务的搭建
    samba on ubuntu
    SSH连接下复制远程linux服务器文件到本地的命令(zz)
    R 语言入门(Ubuntu)
    new repository
    vlc play函数跟踪
    SSH连接下复制远程linux服务器文件到本地的命令(zz)
    c# HttpServer 的使用
    异步Udp监听关闭 出现异常,访问已释放的资源或者其他错误的解决方法
  • 原文地址:https://www.cnblogs.com/jacklikedogs/p/3498187.html
Copyright © 2020-2023  润新知