【问题标题】:URLRewriteFIlter, How to remove the context/folder name?URLRewriteFIlter,如何删除上下文/文件夹名称?
【发布时间】:2012-01-23 07:01:24
【问题描述】:

Link to my previous question,我想把http://www.demo.com/context/user.do?action=home改写成http://www.demo.com,建议试试URLRewriteFilter。

以下代码

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

不移除上下文名称,即我仍需要从http://www.demo.com/context/进入

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

【问题讨论】:

    标签: tomcat url-rewriting rewrite servlet-filters


    【解决方案1】:

    您需要将 webapp 部署在上下文根目录上。 或者将 WAR 重命名为 ROOT.war(并删除 Tomcat 的 web 应用程序中的默认 /ROOT 文件夹,如果有的话),以便 Tomcat 将其自动部署到 root,编辑&lt;Context&gt; webapp 的context.xml 元素指定path="" 而不是path="/context"

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

    另见:

    【讨论】:

    • 感谢您提供的信息,但不幸的是,我们在同一台服务器上还有其他应用程序,因此我无法将其更改为 Root,
    猜你喜欢
    • 2021-04-06
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多