Apache mod_jkreplacemod_rewrite规则

我们在Tomcat 6.0实例之前有一个稍微复杂的Apache 2.2安装程序。 主要的Tomcat webapp部署在:

/opt/tomcat/webapps/ROOT 

但是我们也有半定期更新的静态内容。 我们不想强制一个新的构build和部署的Web应用程序,所以这是分开存储在如下文件夹:

 /opt/tomcat/webapps/css /opt/tomcat/webapps/foo /opt/tomcat/webapps/bar 

为了从Apache处理这个问题,我们使用mod_rewrite,规则如下所示:

 RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^/css/(.*)$ - [L] RewriteCond ROOT/%{REQUEST_FILENAME} -f RewriteRule ^/css/(.*)$ ROOT/$1 [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*)\.(jpg|png|html|js)$ - [L] RewriteCond ROOT/%{REQUEST_FILENAME} -f RewriteRule ^(.*)\.(jpg|png|html|js)$ - [L] RewriteRule ^/(.*)$ http://localhost:8080/$1 [P,L] ProxyPassReverse / http://localhost:8080/ 

我现在想我可能要开始使用mod_jk,我有两个问题:

  1. 它甚至值得使用mod_jk吗? 我不需要负载平衡。
  2. 是否有可能处理我列出的静态内容被引用为“ http://www.example.com/css/foo.css ”的情况,但我们不知道它是否位于Tomcat webapp或其中一个静态文件夹。

你为什么想用mod_jk?

如果是使用ajp通信,要加快转移到tomcat为什么不看mod_proxy_ajp?

你只需要将tomcat rewriute规则更改为:

 RewriteRule ^/(.*)$ ajp://localhost:8080/$1 [P,L]