私が知る限り、Jetty 6に同梱されているルール/ハンドラーを使用するのは簡単ではありません。
RedirectPatternRule
上のマッチtarget
あなたのルールが一致することはありませんので、突堤サーバでのパスではなく、完全なURIです。
次のように変更できます。
<New id="redirect" class="org.mortbay.jetty.handler.rewrite.RedirectPatternRule">
<Set name="pattern">/*</Set>
<Set name="location">https://foobar.com</Set>
</New>
ただし、これには2つの問題があります。
- すべてのリクエスト(
https
リクエストを含む)をリダイレクトします
- 要求されたURLは考慮されません(
location
指定されたとおりに常にリダイレクトされ、で一致したものはすべて無視されますpattern
)
あなたはいくつかの策略で最初の問題を克服することができます。
あなたはラップすることができますRewriteHandler
でContextHandler
、コンテキスト・ハンドラは、あなたはそれが(からの要求を処理するどのコネクタを指定することができますsetConnectorNames
)。したがって、これを使用して、httpコネクタのリクエストにのみ書き換えを適用できます。
ただし、2番目の問題を克服する方法は考えられません。
このための独自のリダイレクトルールを記述することをお勧めします。あなたがそれを行うための開発リソースを持っていない場合は、私に連絡し(私のプロフィールにあるブログから私のメールアドレスを見つけることができます)、私は1つを上げることができます(Jettyと同じライセンスの下で)。httpをhttpsにリダイレクトするだけのルールを記述するのは非常に簡単です。