我正在使用TomCat服务器,需要转换到新位置。我将暂时在旧服务器上保留TomCat实例,以便优雅地转发旧链接。我发现tuckey的url重写并且似乎工作得非常好,除了它在转发之前不显示消息。
我目前的解决方案是在http://myserver:8080/
添加“移动”通知,其中HTML重定向将在5秒后自动转发。
然后我会对任何直接链接使用urlrewrite规则,例如:http://myserver:8080/browse/ISSUE-123
转发到http://mynewserver:8080/browse/ISSUE-123
。这有效,但我希望能够在将用户转发到新位置之前向用户显示消息。
任何提示都会非常感激。我认为目前的解决方案“足够”,但可能更好。
修改
我找到了一个我认为可行的解决方案,但我仍然愿意接受反馈。我创建了一个带有scriptlet的简单JSP页面,该脚本将接受一个参数(由URL重写器生成)将HTML重定向放入“此页面已移动”模板中。通过这种方式,用户将被转发到正确的位置,并且还会看到一条消息,告诉他们更新他们的链接。
答案 0 :(得分:0)
好的,因为这已经到位,我想我会详细说明我的答案,以防将来有人帮助。
此解决方案可能需要30分钟才能实施。
使用我想要的转发
配置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>
这会将所需的页面传递到“转发”屏幕,该屏幕具有元重定向,然后转到新服务器上的同一页面,同时还告诉用户有关服务器移动的信息。