6

我有一个 Apache 和 Tomcat 正在运行,我用它mod_jk来绑定它们。我有一个名为“tc1”的 Tomcat 工作人员,并且在我的设备上有以下设置VirtualHost

JkMount   /* tc1
JkUnMount /*.png tc1
JkUnMount /*.gif tc1
JkUnMount /*.css tc1
JkUnMount /*.js tc1

这样 Tomcat 就可以处理除静态文件之外的所有请求。

现在我想使用mod_rewrite并做一些非常简单的事情,例如:

RewriteEngine On
RewriteRule ^/foo$ /bar [L]

将“/foo”处的动态综合浏览量重写为“/bar”,但它不起作用,因为所有处理的 urlmod_rewrite都不会最终进入mod_jk.

我已阅读Apache Tomcat 连接器文档并尝试了所有方法,JkOptions但没有任何改变。

有谁知道如何解决这个问题?

mod_jk和加载顺序和声明顺序在 URL 处理中是否mod_rewrite起任何作用?

谢谢

4

1 回答 1

12

这很奇怪,因为默认情况下 aRewriteRule发送客户端重定向,因此客户端应该向 /bar 发出第二个请求,该请求应该被您的JkMount. 您的访问日志是否显示请求/foo和请求/bar

试试这个规则:

RewriteRule ^/foo$ /bar [PT,L]

“PT”的意思是“通过”,它是一个重写标签,它允许您在原地改变 URL 并让其他模块查看,而无需发送重定向。

于 2009-08-17T18:40:58.123 回答