0

我正在使用 TomCat 服务器,需要转换到新位置。我将暂时在旧服务器上保留一个 TomCat 实例,以便优雅地转发旧链接。我发现 tukey 的 url rewrite 并且它似乎工作得很好,除了它在转发之前不显示消息。

我目前的解决方案是在以下位置放置一个“已移动”通知:http://myserver:8080/带有一个 HTML 重定向,它将在 5 秒后自动转发。

然后,我将对任何直接链接使用 urlrewrite 规则,例如:http://myserver:8080/browse/ISSUE-123转发到http://mynewserver:8080/browse/ISSUE-123. 这可行,但我希望能够在将用户转发到新位置之前向用户显示一条消息。

任何提示将不胜感激。我认为当前的解决方案“足够”,但可能会更好。

编辑

我找到了一个我认为可行的解决方案,但我仍然愿意接受反馈。我创建了一个带有 scriptlet 的简单 JSP 页面,该页面将接受一个参数(由 URL 重写器生成)来将 HTML 重定向放入“此页面已移动”模板中。这样,用户将被转发到正确的位置,并且还会看到一条消息,告诉他们更新链接。

4

1 回答 1

0

好的,因为这已经到位,我想我会详细说明我的答案,以防将来对某人有所帮助。

该解决方案可能需要 30 分钟才能实施。

  1. 下载 Tomcat ( http://tomcat.apache.org/ )
  2. 下载 UrlReWrite ( http://tukey.org/urlrewrite/ )
  3. 使用我想要的转发配置 urlrewrite.xml

     <urlrewrite>
      <rule>
           <from>/browse/(.*)</from>
           <to type="redirect">http://mynewserver:8080/browse/$1</to>
      </rule>
     </urlrewrite>
    

这将立即将他们转发到新页面。我找到了一种显示页面的体面方法,然后通过创建一个简单的 html 页面作为 .jsp 并在其中包含一个 scriptlet 进行转发:

 <meta http-equiv="REFRESH" content="5;url=http://mynewserver:8080/browse/<%= request.getParameter("requestedPage") %>">

然后我将 urlrewrite.xml 更新为以下内容:

 <urlrewrite>
     <rule>
        <from>/browse/(.*)</from>
        <to type="redirect">%{context-path}/forward.jsp?requestedPage=$1</to>
     </rule>
 </urlrewrite>

这会将所需页面中的页面传递到“转发”屏幕,该屏幕具有元重定向,然后转到新服务器上的同一页面,同时还告诉用户服务器移动。

于 2013-03-26T12:57:57.840 回答