Tomcat 8.0 重写 Valve

Tomcat 8.0 重写 Valve

我正在尝试在 Tomcat 8.0 中使用 RewriteValvehttp://tomcat.apache.org/tomcat-8.0-doc/rewrite.html

在 $CATALINA_HOME/conf/server.xml 中,我添加了

<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />

就在 Host 标签下面

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

rewrite.config在目录中创建了$CATALINA_HOME/conf以下内容

RewriteRule ^/abc /myapp

http:/host:port/myapp正在运行的 Web 应用程序在哪里?

所以现在当我去时,http://host:port/abc我希望被重定向到,http://host:port/myapp但我得到的却是 404 the requested resource is not available

它似乎甚至没有读取我的 rewrite.config 文件。日志目录中的访问日志只是报告,"GET /abc HTTP/1.1" 404 1000没有进一步的详细信息。

我遗漏了什么?谢谢

答案1

根据文档,如果您在 server.xml 中配置重写阀,则必须将 rewrite.config 文件放在“主机配置文件夹”中。

主机文件夹是

$CATALINA_HOME/conf/Catalina/[host name]

或者在你的例子中

$CATALINA_HOME/conf/Catalina/localhost.

相关内容