我可以使用SetEnv保存Apache环境variables值吗?

我使用Tomcat 6运行Apache 2.2,并在Apache和RewriteRule以及Tomcat中都有几个URL重写层。 我想通过Apache看到的原始REQUEST_URI,以便我可以正确logging“页面未find”错误等。

在httpd.conf中有一行:

SetEnv ORIG_URL %{REQUEST_URI} 

并在mod_jk.conf中,我有:

 JkEnvVar ORIG_URL 

我认为应该通过Servlet中的request.getAttribute("ORIG_URL")使值可用。

不过,我看到的只是"%{REQUEST_URI}" ,所以我假设SetEnv不会解释%{...}语法。 什么是正确的方式来获取用户在Tomcat中请求的URL?

使用:

 RewriteRule (.*) - [E=ORIG_URL:$1] 

使用HttpServletRequest类的getRequestURI()getRequestURL() (也可能是getQueryString() )方法。