2009-09-01 149 views
53

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

+0

で終了する必要があることに注意してください? –

+4

@NonaUrbiz:.htaccess Apache HTTPサーバー固有ではなく、Tomcatでは動作しませんか? –

+0

他の人のためにTomcatは彼らのドキュメントを見ることをお勧めしていないようです - https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache – KCD

答えて

19

名、WebアプリケーションのWAR「ROOT.war」か含むフォルダ「ROOT」

17

は、基本的にはApacheのmod_rewriteのJavaベースの実装ですUrlRewriteFilterを見てみましょう。

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

+0

UrlRewriteFilterは高速で、うまくいきました。 [マニュアル](http://urlrewritefilter.googlecode。com/svn/trunk/src/doc/manual/4.0/index.html)にはいくつかの素晴らしいオプションがあります。[このブログの記事](http://nematodes.org/martin/2010/02/04/301-permanent-redirect -with-tomcat-howto /)にも良い情報があります。 – cwd

76

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

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

  2. webapp/ROOT/index.html(存在する場合)を削除します。あなたが別のサーバーに指示したい場合は、これで終わりです

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

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

のか:

  • は、コンテンツのこの行でファイルwebapp/ROOT/index.jspを作成します。私がやったこと

  • +7

    必要なステップ#2のみ。 Tomcat 7でテストされました。 – dustmachine

    +11

    sendRedirectコマンドはすべて私に必要なものでした。 index.jspには以下が含まれています: <% response.sendRedirect( "/ jasperserver"); %> –

    +2

    jspスクリプトレットの前に<% and %>を追加することを忘れないでください。 –

    8

    後藤ファイルパス ..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp

    私はROOT/index.jspを

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

    照会が失われるため、これは実際に分析データを壊す可能性があります。 – sbichenko

    +0

    これは動作しますが、それを行う方法ではありません。 – AdrianRM

    +0

    このメソッドの小さなメリットの1つは、index.jspの代わりにindex.htmlに入れることができることです。 – Edd

    5
    テスト済み

    と作業手順の内部に次の行を追加しましたコンテンツ全体を削除するか、index.jspの上部にある以下のコード行を宣言してください

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

    の.htaccessまたはISAPIが動作しない理由があるJSPファイルにあなたが<%と上記の行を開始し、%>