私が知る限り、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にリダイレクトするだけのルールを記述するのは非常に簡単です。