链接到我之前的问题,我想将重写http://www.demo.com/context/user.do?action=home为http://www.demo.com,建议尝试URLRewriteFilter。
http://www.demo.com/context/user.do?action=home
http://www.demo.com
以下代码
<rule> <from>^/$</from> <to type="redirect">%{context-path}/user.do?action=home</to> </rule>
不会删除上下文名称,也就是说我仍然需要输入 http://www.demo.com/context/
http://www.demo.com/context/
鉴于官方站点中的所有示例均基于上下文,RewriteFilter确实是解决初始问题的正确工具吗?
您需要将webapp部署在上下文根目录上。 可以 将WAR重命名为ROOT.war(并删除/ROOTTomcat的webapp中的默认文件夹,如果有的话),以便Tomcat在根目录下自动部署它, 或者 编辑<Context>该webapp的元素context.xml以指定path=""而不是path="/context"。
ROOT.war
/ROOT
<Context>
context.xml
path=""
path="/context"
重写过滤器仅在webapp级别运行,而不是在Tomcat级别运行,因此尝试使用它来更改webapp的上下文路径(它本身将在Tomcat级别配置)。