apache2.2.9 rewrite.log 乱码

chengkunxf 2008-11-26 09:53:18
大虾们好。
我配置了 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
这个就是成功的例子。请大家帮忙看看。谢谢!
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspdiyer 2009-11-22
  • 打赏
  • 举报
回复
ddddd
ZKM_ZHANG 2008-11-27
  • 打赏
  • 举报
回复
路过,接分.
Even713 2008-11-26
  • 打赏
  • 举报
回复
帮你顶~

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧