Tomcat,Mod_rewrite,Mod_proxy:如何在代理请求中保留原始URI路径?

时间:2012-03-01 02:57:14

标签: apache jsp tomcat mod-rewrite mod-proxy

我正在使用以下配置代理请求并使用mod_rewrite,mod_proxy从Apache重写URL到Tomcat。

# In apache virtual hosts

ProxyRequests Off
ProxyPreserveHost On

...
# In .htaccess file

#forward non-resource URL to jsp
RewriteRule ^([^\.]+)/?$ http://localhost:8080/mycontext/$1.jsp [P] 

我的问题:是否可以指示Tomcat保留原始URI,以便我可以使用request.getRequestURI()来读取它?这种配置是可行的还是我必须求助于mod_jk或其他代理连接器?

当前保留主机名...而不是请求路径。我也在使用Apache 2.2和Tomcat 6。

1 个答案:

答案 0 :(得分:2)

一个不太麻烦的解决方案:

RewriteRule ^([^\.]+)/?$ http://localhost:8080/mycontext/$1.jsp&_requri_=%{REQUEST_URI}

然后从_requri_查询参数中读取请求uri。

如果有更好的方法,请告诉我。