2016-12-20 13 views
0

私のアプリケーションWARが配備されているTomcatサーバーにApacheのhttpdとプロキシ要求を使用しています。URLからアプリケーション名とサーブレットのマッピングを削除する

アプリケーションAppとサーブレットURLパターン/servlet1とドメイン名abc.comがあるとします。したがって、ROOT.warサーブレットから/App/servlet1にリクエストを転送すると、私のURLはabc.com/App/servlet1に変更されますが、より良いユーザーエクスペリエンスのためにはabc.comが好ましいでしょう。

AppからROOT.warに名前を変更することでこれを行うことができますが、それは既に別のアプリケーションのためにROOT.warがあるため、私にとってはオプションではありません。

abc.com/App/servlet1abc.com以外に書き換えることはできますか?ROOT.war?もしそうなら、どうすればいいですか?

+2

リクエストがあなたのROOT.warアプリケーションまたはApp.warアプリケーションに向けられているかどうかは、両方が同じURLパスを共有している場合はどうなりますか? –

+0

私の場合は、ドメインROOT.warにドメインを要求し、いくつかの事柄を検証する別々の戦争があります。したがって、ROOT.warのサーブレットは、302のリダイレクト要求をApp.warのサーブレットに送信します。 App.warはすべての検証/チェックを行い、リクエストをROOT.warにリダイレクトします。この場合、ブラウザにURLの変更をユーザーに表示する必要はありません。常にabc.comにする必要があります。私はあまりApacheの設定に精通していない、それは可能ですか? –

答えて

2

ROOTAppアプリケーションを1つのアプリケーションにまとめてマージする方法です。

があるときには、サーブレットが含まれていません。 URLは1つのアプリケーションに移動し、別のアプリケーションは明白なマッピング戦略なしで別のアプリケーションに移動する必要があります。サーブレット仕様では、URL接頭辞(コンテキストパス)を使用して、デプロイされたWebアプリケーションを区別します。実際には同じアプリケーションでなければ、それらを混在させることはできません。

これを行うには非常に醜い方法がありますが、それらのテクニックは頭痛の種を広げ、無意味な要求のように聞こえるようにするためにハッキングを続けます。 URLがどれほどかわいいかは誰も気にしません。 example.comが適切な場所にユーザーを持ち込み、残りの部分については心配しないでください。

関連する問題