如何将Valve添加到ApacheTomcat并使用rewrite.config

如何将Valve添加到ApacheTomcat并使用rewrite.config,tomcat,Tomcat,关于这个职位: 我能够在server.xml文件中设置阀门。(发动机内部) 现在我将把rewrite.config文件放在哪里 我试图将它放在文件的WEB-INF中,但只有在context.xml中设置阀门时,它才起作用,我不想这样做。好,所以它起作用了。 多亏了上面Eugène Adell的帖子和一些修补 因此,我将阀放置在server.xml中的主机标记中,因此: <Engine name="Catalina" defaultHost="localhost" jvmRoute="som

关于这个职位:

我能够在
server.xml
文件中设置阀门。(发动机内部) 现在我将把
rewrite.config
文件放在哪里

我试图将它放在文件的
WEB-INF
中,但只有在
context.xml
中设置阀门时,它才起作用,我不想这样做。

好,所以它起作用了。 多亏了上面Eugène Adell的帖子和一些修补

因此,我将阀放置在server.xml中的主机标记中,因此:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="somedomain.com">
  <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="true">
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
  </Host>
</Engine>

然后我把重写放在这里:


$CATALINA_BASE/conf/CATALINA/localhost/rewrite.config

查看我的答案您想只在单个应用程序中重写URL,还是在同一服务器上的所有应用程序中重写URL(甚至对于不存在的应用程序,例如,
/nosuchapp/index.jsp
?我希望它跨同一服务器上的所有应用程序,我将重写放在这里:conf/Catalina/localhost/rewrite.config我在server.xml中添加了阀标记,在内部,但在外部。