DirectAdmin安装mod_encoding支持中文文件名

时间:12-07-17 栏目:VPS教程 作者:赵 容 评论:13 点击: 9,523 次

虽然我从来不喜欢在URL中输入中文,采用中文的页面文件名,或者中文图片名称,但是,还是有部分朋友喜欢这么玩,所以,搜索到在DirectAdmin面板下(Apache2.2.*)支持中文文件名和中文图片名的解决方法,亲测之后在这里做个记录,方便查阅!

以下的DirectAdmin安装mod_encoding支持中文文件名的过程,完全来自全球主机论坛Captain大神分享,特此鸣谢。买DA授权,买景安四线,找Captain大哥!

mod_encoding

由于32位和64位系统下的操作方式略有差异,所以分开表述。首先,我们来看32bit CentOS下的安装方式。

以root用户SSH登陆服务器,然后逐步如下代码。

wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz      #下载安装包

tar zxvf mod_encoding-2.2.0-1.i386.tar.gz                     #解压

rpm -ivh iconv_hook-1.0.0-1.i386.rpm

rpm -ivh mod_encoding-2.2.0-1.i386.rpm       #安装

安装之后,我们还需要修改配置文件,让Apache支持中文名。

vi /etc/httpd/conf/httpd.conf     #编辑httpd.conf

加入如下内容

LoadModule encoding_module /usr/lib/httpd/modules/mod_encoding.so

<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<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>

保存,退出,然后重启Apache。

service httpd restart

【注意】以上的httpd.conf和mod_encoding.so的位置,可能会有不同,大家根据自己的位置修改。

如果您是使用64bit系统安装DirectAdmin,请往下看,上面的操作仅适用于32bit系统。

首先,安装必要组件。

yum install gcc –y        #安装gcc组件

wget http://d.nicwind.com/files/mod_encoding_64.tar.gz      #下载压缩包

tar zxvf mod_encoding_64.tar.gz    #解压

接下来逐步编译。

tar zxvf mod_encoding_64.tar.gz
cd mod_encoding_64
patch -p0 < mod_encoding.c-apache2.2-20060520.patch

cd lib
chmod 755 configure
./configure --prefix=/usr
make && make install
ldconfig

cd ../
chmod 755 configure
cp -p /usr/sbin/apxs /usr/bin
./configure --with-apxs=/usr/bin/apxs --with-iconv-hook=/usr/include
make
gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
cp mod_encoding.so /usr/lib/httpd/modules

【注意】最后一行代码中的/usr/lib/httpd/modules请根据modules位置自行修改之。

接下来,我们还是需要修改Apache的配置文件。

vi /etc/httpd/conf/httpd.conf     #编辑httpd.conf

加入下面的内容。

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>

【注意】上面的modules/mod_encoding.so请根据自己编译的mod_encoding.so文件位置自行调整代码。

保存,退出,最后重启Apache就可以了!

service httpd restart

好了,以上就是给DirectAdmin安装mod_encoding让它支持中文URL文件名的全部过程了。本教程原文引用Captain大神发布在全球主机论坛的帖子,特此鸣谢。买DA授权,买景安四线,都可以找Captain大哥!

香港/美国/国内高速VPS

声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: DirectAdmin安装mod_encoding支持中文文件名鄙视无耻复制行为!
关于隐私: 赵容非全职打理博客,所有评论不保证审核时间进度,我有义务保证您的个人信息不经由赵容部落透露给任何第三方,随意或虚假邮箱评论会自动进入垃圾箱无法展示和给您回应.
关于安全: 任何IDC都有倒闭和跑路的可能,出口线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.

DirectAdmin安装mod_encoding支持中文文件名:目前有13 条留言

  1. 4楼
    东盛安溪:

    👿 directadmin 的文件管理器里面编辑文件原来是中文的 不知道为什么变成了 无法显示中文 不知道该如何解决?

    2014-08-16 11:11 [回复]
  2. 地板
    珲珲哥:

    您好,出现
    configure: warning: –with-apxs2=/usr/bin/apxs: invalid host type

    configure: warning: –with-iconv-hook=/usr/include: invalid host type

    configure: error: can only configure for one host and one target at a time

    错误

    2014-01-19 16:43 [回复]
    • 问题解决了,直接复制你的
      ./configure –with-apxs=/usr/sbin/apxs –with-iconv-hook=/usr/local/include
      这行不行,我这里打出来的是在网上找的

      2014-01-19 16:56 [回复]
      • 赵 容:

        两个with前面都是两条-,不用插件我这里显示出来就只有一条。

        2014-01-19 16:58 [回复]
        • 路径不一样

          2014-01-19 18:06 [回复]
        • 遇到了新错误:

          /usr/bin/ld: /usr/local/lib/libiconv_hook.a(iconv_hook.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; recompile with -fPIC
          /usr/local/lib/libiconv_hook.a: could not read symbols: Bad value
          collect2: ld 返回 1

          2014-01-19 18:08 [回复]
        • mod_encoding.c:378: 警告:从不兼容的指针类型初始化

          2014-01-19 18:22 [回复]
          • 赵 容:

            这个组件你可以问问loc论坛的CP大哥,说实话我当初自己安装并且写这个的时候,也遇到了点问题,是请教他解决的。

            2014-01-19 18:28 [回复]
            • 谢谢容容,一直比较信任你的教程,教程挺适合新手。这个支持中文其实也不是很有必要装,我还是不折腾了。

              2014-01-19 18:32 [回复]
            • 可能因为我64位系统,所以麻烦

              2014-01-19 18:32 [回复]
  3. 板凳
    紫枫:

    请问下,我把一个压缩包里包含了中文的目录ftp上传到目录下 通过da解压解压后中文的目录都变成乱码了,按照你的这个设置依然如此,可以指点下小弟不。QQ:724174

    2013-05-31 17:26 [回复]
  4. 沙发
    shaw:

    有什么方法能解决DA解压时的中文名乱码或中文名无法解压的问题吗?

    2012-07-23 05:18 [回复]
    • 赵 容:

      已成的乱码,估计是无解的。
      本文虽然提供了一种方式,另DA支持中文名字,但是,我还是很中肯的建议大家,不要在DA、CP这些面板中使用中文文件名称!

      2012-07-23 07:54 [回复]

发表评论


海星云主机

广而告之