apache2.2.9 rewrite.log 乱码

chengkunxf chengkunxf 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大虾们好。
我配置了 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
这个就是成功的例子。请大家帮忙看看。谢谢!
...全文

相关推荐

老男孩linux运维课程笔记

- 安装额外的安全工具如Fail2Ban来增强安全性。##### 6. 修改Linux默认字符集- **目的**:确保系统支持所需的字符编码,避免乱码问题。

zhangzhanqiu316

基于 LAMP 实现的论坛(小任务记录)

日志体系完备,Apache错误日志与访问日志分别记录至/var/log/apache2/error.log与access.log,PHP错误日志输出至指定路径并启用error_reporting(E_ALL

YAO_WEN_C

Ubuntu 16.04 搭建 Moodle 3.5–3.9 实战指南:Apache+MySQL+PHP 兼容配置全解析

Moodle 是一款广泛应用于教育机构的开源学习管理系统,其稳定运行依赖于 Web 服务器、数据库与 PHP 环境的精准协同。理解 Apache 的模块加载机制、MySQL 的 SQL 模式与字符集策略、PHP 扩展依赖及运行参数调优,是保障 Moodle 部署成功的基础技术能力。尤其在老旧硬件或国产化终端等受限环境中,Ubuntu 16.04 与 Moodle 3.5–3.9 的组合仍具强适配性——它不追求最新特性,而强调生产级确定性。本文聚焦 apache 安装与配置、mysql安装教程 等高频实操场景

weixin_34185320

Ubuntu 14.04 + Apache 部署 Drupal 7 的底层原理与生产级配置

LAMP 架构是 Web 应用运行的基础范式,其核心在于 Linux、Apache、MySQL 和 PHP 四组件的协同机制。Apache 作为模块化 Web 服务器,通过 mod_rewrite 等扩展实现动态请求路由;PHP 以 SAPI 方式嵌入 Apache 进程,承担逻辑执行;MySQL 提供持久化存储,其 SQL 模式与字符集直接影响应用兼容性。这套组合虽在现代云环境中看似‘过时’,却因稳定性高、文档完备、故障可溯,仍是政企遗留系统、教育平台及国产化适配场景的事实标准。本文聚焦 Drupal 7

weixin_30627341

Apache mod_proxy生产级反向代理配置实战指南

反向代理是现代Web架构的核心组件,其本质是HTTP请求的智能路由与协议转换中间件。它通过拦截客户端请求、重写URL路径、修正响应头(如Location、Set-Cookie)、透传元信息(X-Forwarded-*)等机制,实现前后端解耦与流量治理。技术价值在于统一入口管理、HTTPS卸载、负载均衡及安全策略收敛。典型应用场景包括Java/Tomcat集群前置路由、多租户子域名分发、新老系统共存迁移、微服务网关轻量化部署等。Apache mod_proxy凭借对HTTP协议状态机的深度支持(如ProxyP

weixin_34184158
评论 3
收藏 已收藏
分享
返回顶部
chengkunxf
Apache 24,915 成员 16,537 内容