我正在尝试在 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.