我已经运行了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”,但它不起作用,因为mod_rewrite
处理的所有网址都不会以mod_jk
结尾。
我已阅读Apache Tomcat Connector documentation并尝试了所有JkOptions
但未发生任何变化。
有谁知道如何解决这个问题?
mod_jk
和mod_rewrite
加载顺序和声明排序是否在URL处理中起任何作用?
感谢
答案 0 :(得分:12)
这很奇怪,因为默认情况下RewriteRule
会发送客户端重定向,因此客户端应该向/ bar发出第二个请求,应该由JkMount
捕获。您的访问日志显示是否显示/foo
的请求以及/bar
的请求?
请尝试使用此规则:
RewriteRule ^/foo$ /bar [PT,L]
“PT”表示“传递”,并且是一个重写版本,允许您在原位改变URL并让其他模块查看,而不发送重定向。