您好!欢迎光临赵容部落O(∩_∩)O~
时间:2012年7月17日 栏目:VPS教程 作者:赵 容 点击: 12,761 次
虽然我从来不喜欢在URL中输入中文,采用中文的页面文件名,或者中文图片名称,但是,还是有部分朋友喜欢这么玩,所以,搜索到在DirectAdmin面板下(Apache2.2.*)支持中文文件名和中文图片名的解决方法,亲测之后在这里做个记录,方便查阅!
以下的DirectAdmin安装mod_encoding支持中文文件名的过程,完全来自全球主机论坛Captain大神分享,特此鸣谢。买DA授权,买景安四线,找Captain大哥!
由于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.patchcd lib
chmod 755 configure
./configure --prefix=/usr
make && make install
ldconfigcd ../
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大哥!
声明: 博客仅为分享信息绝非推荐,网站不参与交易绝非中介,内容均仅代表个人观点绝非权威,读者请自行考虑后入手并自担风险!一分钱一分货仍是恒久不变之真理,未成年读者(包括生理和心理)请在监护人陪同下访问本站!本文由( 赵 容 )原创编译,转载请保留链接: DirectAdmin安装mod_encoding支持中文文件名码字不易,谢绝复制粘贴! 关于使用: 本站主要分享服务器及VPS信息,不提供任何产品销售及代购,所有访客朋友请在国家法律法规许可范围内购买和使用产品,QQ群讨论:683851361. 关于安全: 任何IDC都有倒闭和跑路的可能,主机线路更不可控,月付和备份是您的最佳选择,请保持良好的、有规则的备份习惯.
👿 directadmin 的文件管理器里面编辑文件原来是中文的 不知道为什么变成了 无法显示中文 不知道该如何解决?
2014-08-16 11:11您好,出现
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问题解决了,直接复制你的
2014-01-19 16:56./configure –with-apxs=/usr/sbin/apxs –with-iconv-hook=/usr/local/include
这行不行,我这里打出来的是在网上找的
两个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
2014-01-19 18:08/usr/local/lib/libiconv_hook.a: could not read symbols: Bad value
collect2: ld 返回 1
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请问下,我把一个压缩包里包含了中文的目录ftp上传到目录下 通过da解压解压后中文的目录都变成乱码了,按照你的这个设置依然如此,可以指点下小弟不。QQ:724174
2013-05-31 17:26有什么方法能解决DA解压时的中文名乱码或中文名无法解压的问题吗?
2012-07-23 05:18已成的乱码,估计是无解的。
2012-07-23 07:54本文虽然提供了一种方式,另DA支持中文名字,但是,我还是很中肯的建议大家,不要在DA、CP这些面板中使用中文文件名称!