Anlayabildiğim kadarıyla, bu İskele 6 ile gönderilen kuralların / işleyicilerin hiçbiriyle yapmak kolay değil.
RedirectPatternRule
Üzerinde maçlar target
Kural eşleştirme asla yüzden, İskele sunucusunda yolu değil, tam tanım olduğunu.
Bunu şu şekilde değiştirebilirsiniz:
<New id="redirect" class="org.mortbay.jetty.handler.rewrite.RedirectPatternRule">
<Set name="pattern">/*</Set>
<Set name="location">https://foobar.com</Set>
</New>
Ancak bunun 2 sorunu vardır:
- Tüm istekleri (hatta
https
istekler) yeniden yönlendirir
- İstenen URL'yi dikkate almaz (her zaman
location
belirtildiği gibi yönlendirir ve ile eşleşen her şeyi yok sayar pattern
)
Bazı sorunlarla ilk sorunun üstesinden gelebilirsiniz.
İçeriği RewriteHandler
a içine alabilirsiniz ContextHandler
ve bir bağlam işleyicisi, hangi bağlayıcıları ( setConnectorNames
) işleyeceğini belirtmenize olanak tanır . Bu nedenle, yeniden yazma işleminin yalnızca http bağlayıcılarındaki isteklere uygulanmasını sağlamak için kullanabilirsiniz.
Yine de ikinci sorunun üstesinden gelmenin bir yolunu düşünemiyorum.
Bunun için kendi yönlendirme kuralınızı yazmanızın en iyi yol olduğunu düşünüyorum. Bunu sizin için yapacak geliştirme kaynaklarınız yoksa, benimle iletişime geçin (e-posta adresimi profilimde bulunan blogum aracılığıyla bulabilirsiniz) ve birini (Jetty ile aynı lisans altında) çırpabilirim. Http'yi https'ye yönlendiren bir kural yazmak oldukça basit olacaktır.