web-dev-qa-db-ja.com

TomcatベースURLリダイレクト

Tomcatを使用して、 http://www.mydomain.com のリクエストを取得して httpにリダイレクトするにはどうすればよいですか? ://www.mydomain.com/somethingelse/index.jsp ? index.htmlを http://mydomain.com から表示することさえできませんでした。

71
Nathaniel Flath

Webapp WARに「ROOT.war」またはフォルダ「ROOT」を含む名前を付けます

24
flybywire

これを行うことができます。Tomcatインストールがデフォルトで、変更を行っていない場合、デフォルトのwarはROOT.warになります。したがって、http://yourserver.example.com/を呼び出すたびに、デフォルトのWARファイルのindex.htmlまたはindex.jspが呼び出されます。リクエストをwebapp/ROOTにリダイレクトするために、http://yourserver.example.com/somewhere/elseフォルダーで次の変更を行います。

  1. webapp/ROOT/WEB-INF/web.xmlを開き、パス/index.htmlまたは/index.jspのサーブレットマッピングを削除して保存します。

  2. webapp/ROOT/index.htmlが存在する場合は削除します。

  3. 次のコンテンツ行でファイルwebapp/ROOT/index.jspを作成します。

    <% response.sendRedirect("/some/where"); %>
    

    または、別のサーバーに転送する場合は、

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %>
    

それでおしまい。

99
Viral Patel

rlRewriteFilter を見てください。これは本質的にApacheのmod_rewriteのJavaベースの実装です。

TomcatのROOTフォルダーの下のwebappsフォルダーに展開する必要があります。その後、WEB-INF/urlrewrite.xml構成ファイル内の他のコンテキストへのリダイレクトを構成できます。

17
ChssPly76

テスト済みおよび作業手順:

ファイルパス..\Apache-Tomcat-7.0.x\webapps\ROOT\index.jspに移動します

コンテンツ全体を削除するか、index.jspの上部で以下のコード行を宣言します

<% response.sendRedirect("http://yourRedirectionURL"); %>

Jspファイルでは、上記の行を<%で開始し、%>で終了する必要があることに注意してください。

8
obaid

私がしたこと:

ROOT/index.jsp内に次の行を追加しました

 <meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
7
Kevin

Tomcat 8では、rewrite-Valveも使用できます。

RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$         /somethingelse/index.jsp

Rewrite-Valveをセットアップするには、次をご覧ください。

http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-Valve-in-Tomcat-8/

1
progressdll