六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 138|回复: 0

apache2.2.9 rewrite.log 乱码

[复制链接]

升级  30%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
15
 楼主| 发表于 2013-2-7 19:25:02 | 显示全部楼层 |阅读模式
大虾们好。
我配置了 apache2.2.9 + tomcat5.0 加上了 rewrite 的功能。
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteLog  logs/rewrite.log
    RewriteLogLevel 9
    #配置商家详细信息页面的静态链接
    RewriteRule ^(.*)/search/loadCom-([0-9]+)\.html$ $1/search/loadCom.942map?code=$2 [P,L]
    RewriteRule ^(.*)/search/query-([\w\-]+)\.html$ $1/search/query.942map?searchWord=$2 [NE,R]
   </IfModule>

  配置后,对于第一个请求正常:
  http://127.0.0.1:8089/search/loadCom-1.html  
  rewrite.log 里的转向正常: http://127.0.0.1:8089/search/loadCom.942map?code=1

  对于第二个请求:
  http://127.0.01:8089/search/query-%E5%B7%9D%E8%8F%9C.html
   rewrite.log 里直接将  ”%E5%B7%9D%E8%8F%9C“ 这个到apache rewrite 时自动 encode为中文,而且是乱码。以下是日志

   - [25/Nov/2008:20:53:12 +0800] [10.16.79.149/sid#695148][rid#74acd8/initial] (2) init rewrite engine with requested uri /search/query-宸濊彍.html
- [25/Nov/2008:20:53:12 +0800] [10.16.79.149/sid#695148][rid#74acd8/initial] (3) applying pattern '^(.*)/search/loadCom-([0-9]+)\.html$' to uri '/search/query-宸濊彍.html'
- [25/Nov/2008:20:53:12 +0800] [10.16.79.149/sid#695148][rid#74acd8/initial] (3) applying pattern '^(.*)/search/query-([\w\-]+)\.html$' to uri '/search/query-宸濊彍.html'
- [25/Nov/2008:20:53:12 +0800] [10.16.79.149/sid#695148][rid#74acd8/initial] (1) pass through /search/query-宸濊彍.html

  资料:
  apache有一个功能强大的rewrite模块,这里不描述其功能。需要说明的是该模块会自动将URL解码(去除%),即完成上述web server(tomcat)的部分功能。有相关文档介绍说可以使用[NE]参数来关闭该功能,但我试验并未成功  
   
  在查了资料后说是加上: NE 标示,但加上该标示后并未关闭该解码功能。
   请问了解改问题的哥哥们怎么解决。
   也查过很多,已经有人解决过这个问题:
   例如:http://xiaoqu.goojia.com/search/--%E9%97%B5%E8%A1%8C%E5%8C%BA-%E5%8F%A4%E7%BE%8E%E7%BD%97%E9%98%B3%E6%9D%BF%E5%9D%97-----2-0------------price.html
   这个就是成功的例子。请大家帮忙看看。谢谢!

    问题已经解决。 今天上午在反复测试和修改的过程发现,是rewriterule中写错了。[\w\-] 这个规则并不能匹配 "%E5%B7%9D%E8%8F%9C" 这个格式的编码,所以不能跳转。 至于乱码问题,对跳转没有影响。虽然rewrite.log 里记载了乱码,修改了规则后 (.+) 满足条件,仍然能够完成内部跳转功能。 谢谢。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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