一尘不染

URLRewriteFIlter,如何删除上下文/文件夹名称?

tomcat

链接到我之前的问题,我想将重写http://www.demo.com/context/user.do?action=homehttp://www.demo.com,建议尝试URLRewriteFilter。

以下代码

   <rule>
        <from>^/$</from>    
        <to type="redirect">%{context-path}/user.do?action=home</to>    
   </rule>

不会删除上下文名称,也就是说我仍然需要输入 http://www.demo.com/context/

鉴于官方站点中的所有示例均基于上下文,RewriteFilter确实是解决初始问题的正确工具吗?


阅读 289

收藏
2020-06-16

共1个答案

一尘不染

您需要将webapp部署在上下文根目录上。 可以
将WAR重命名为ROOT.war(并删除/ROOTTomcat的webapp中的默认文件夹,如果有的话),以便Tomcat在根目录下自动部署它,
或者 编辑<Context>该webapp的元素context.xml以指定path=""而不是path="/context"

重写过滤器仅在webapp级别运行,而不是在Tomcat级别运行,因此尝试使用它来更改webapp的上下文路径(它本身将在Tomcat级别配置)。

2020-06-16