0

TomCat サーバーを使用しており、新しい場所に移行する必要があります。古いリンクを適切に転送するために、TomCat インスタンスを一時的に古いサーバーに残します。tuckey の URL リライトを見つけましたが、転送前にメッセージが表示されないことを除けば、非常にうまく機能しているようです。

http://myserver:8080/私の現在の解決策は、5秒後に自動転送されるHTMLリダイレクトを使用して、「移動」通知を次の場所に配置することです。

次に、次のような直接リンクに対して urlrewrite ルールを使用しhttp://myserver:8080/browse/ISSUE-123ますhttp://mynewserver:8080/browse/ISSUE-123。これは機能しますが、ユーザーを新しい場所に転送する前にメッセージを表示できるようにしたいと考えています。

どんなヒントでも大歓迎です。現在の解決策は「十分」だと思いますが、もっと良いかもしれません。

編集

うまくいくと思われる解決策を見つけましたが、まだフィードバックを受け付けています。「このページは移動しました」テンプレートに HTML リダイレクトを配置する (URL リライタによって生成された) 引数を取るスクリプトレットを使用して、簡単な JSP ページを作成しました。このようにして、ユーザーは適切な場所に転送され、リンクを更新するように指示するメッセージも表示されます。

4

1 に答える 1

0

わかりました、これはすでに整っているので、将来誰かに役立つ場合に備えて、私の答えを詳しく説明すると思いました。

このソリューションの実装には 30 分ほどかかりました。

  1. Tomcat をダウンロード ( http://tomcat.apache.org/ )
  2. UrlReWrite をダウンロード ( http://tuckey.org/urlrewrite/ )
  3. 目的の転送で urlrewrite.xml を構成します

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

これにより、すぐに新しいページが転送されます。内部にスクリプトレットを含む単純な html ページを .jsp として作成することで、ページを表示してから転送する適切な方法を見つけました。

 <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 に答える