设为首页 收藏本站
查看: 1036|回复: 0

[经验分享] 解决linux下面 整合apache tomcat 不能直接访问含中文文名 报404错误

[复制链接]

尚未签到

发表于 2017-1-15 06:19:15 | 显示全部楼层 |阅读模式
  默认安装完Centos 5.5服务器,配置的是Aache 2.2.3+Tomcat 6.0.8 服务器上运行了多个站,均无法直接对汉字文件夹和汉字文件名的文件进行访问和下载。经查找资料发现原来是编码原因
  
DSC0000.jpg
 
  
解决Tomcat站的问题和方法方法是:
Tomcat的问题很奇怪,通过网站编辑工具提交的图片,到了服务器上也会变成“??”,原来网站里大量的图片都无法显示出来。
最后在对TOMCAT的日志跟踪是否发现,该日志输出的汉字也是“??”,突然想起来是否是系统的字符编码没设置好。就查看下  vi  /etc/sysconfig/i18n  发现是空白的,直接在里面增加一行如下:
LANG="zh_CN.GB18030"
  然后保存重新启动,
  # source /etc/sysconfig/i18n
一切就恢复正常,既可以在URL里直接访问中文名字的图片,也能上传中文文件。

解决APACHE服务的汉字编码方法:
   静态站和PHP站是一类,我测试了图片http://www.bnxb.com/你好.jpg  无法访问,但使用迅雷等下载工具却可以把图片、汉字文件 下载下来。上网找了文章,都说必须通过mod_encoding进行重新编码。于是我手动安装编码包,终于解决问题。以下是方法

1、下载安装包
wget http://host.bnxb.com/soft/apache/mod_encoding-2.2.0-1.i386.tar.gz
  
2、直接解压,并进入解压后的目录

tar zxfv mod_encoding-2.2.0-1.i386.tar.gz
cd mod_encoding-2.2.0-1.i386
  
3、看到2个安装包,iconv_hook-1.0.0-1.i386.rpm和mod_encoding-2.2.0-1.i386.rpm
开始安装

rpm -ivh iconv_hook-1.0.0-1.i386.rpm --nodeps --force
rpm -ivh mod_encoding-2.2.0-1.i386.rpm --nodeps --force
  
4、检查配置文件httpd.conf,加入以下内容
注意默认的httpd.conf是在 /etc/httpd/conf/httpd.conf
如果系统不同,或者安装的路径不同,可以通过find / -name httpd.conf 来定位这个文件
编辑httpd.conf

vi /etc/httpd/conf/httpd.conf
  
   LoadModule encoding_module 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>
6、#service httpd restart
7、在浏览器里直接输入 www.bnxb.com/你好.gif 图片出来了!

配置参数包括:

    * EncodingEngine (on|off)
       编码转换引擎开关
     * SetServerEncoding <enc>
       设置服务器文件系统的编码
     * AddClientEncoding <agent> <enc> [<enc> ...]
       设置某个客户端请求代理的编码
     * DefaultClientEncoding <enclist>
       缺省的客户端编码清单
     * NormalizeUsername (on|off)
       是否规范话用户名。Windows平台上(特别是WinXP)认证的适合传递的用户名格式是"hostname\\username",这个不标准,自动去除hostname。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328444-1-1.html 上篇帖子: 使用 Google Web Toolkit、Apache Derby 和 Eclipse 构建 Ajax 应用程序,第 4 部分: 部署 下篇帖子: Apache+Tomcat实现负载均衡及集群(session同步)--五、session同步(2)使用共享文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表