【问题标题】:mod rewrite clear home url for tomcat + apachemod为tomcat + apache重写清除主页url
【发布时间】:2012-01-19 22:43:36
【问题描述】:

我有一个通过 mod-jk 在 Tomcat 的 Apache 前端运行的 struts 应用程序。

我正在尝试使用 mod-rewrite 来清理一些由 struts 生成的操作 url。

示例:重写(工作正常)

http://www.demo.com/context/user.do?action=aboutushttp://www.demo.com/context/aboutus 使用 RewriteRule ^/msn/aboutus$ /msn/user.do?action=aboutus [PT,L].

问题:我想将http://www.demo.com/context/user.do?action=home 重写为http://www.demo.com(主页)

我试过这个 RewriteRule ^/$ /context/userdo?action=home [PT,L] 不起作用。

仅供参考

所有的 css、js 和链接都在相对路径上。

DirectoryIndex 在 index.html 上(它会改变 mod-rewrite 的行为吗?)

Tomcat 5.5 版,通过分解public_html/context/ 文件夹中的 WAR 文件部署应用程序(多次部署)

URLrewrite 过滤器无法根据this 删除上下文名称。

日志

我厌倦了查看没有给出任何警告错误消息的日志文件(快照)。

(3) applying pattern '^/$' to uri '/context/jsps/images/abc.png'
(3) applying pattern '^/abc/aboutus$' to uri '/abc/jsps/images/abc.png'   
(3) applying pattern '^/abc/home$' to uri
'/abc/jsps/images/abc.png'

任何人都可以给我一些想法出了什么问题?我该如何解决这个问题?

【问题讨论】:

    标签: apache tomcat mod-rewrite url-rewriting


    【解决方案1】:

    我认为在您重写^/$ 的情况下,mod_jk 优先于 mod_rewrite 规则,因为使用 mod_jk 您正在转发 一切 例如:/* 从 Apache 到 Tomcat。我建议在您的 Tomcat 应用程序中使用 URLRewriteFilter 来正确实现这些 URL 重写。

    【讨论】:

    • 安装了那个。似乎我所有的 url 重写都是基于上下文的。 /abc/rewrite 例如。如何删除上下文名称?
    • 很抱歉这么晚才回复。要删除上下文,只需在 urlrewrite.xml 中使用 <urlrewrite use-context="false"> 作为根标记
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多