আমি যতদূর বলতে পারি, জেটি 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
অনুরোধগুলিও)
- এটি অনুরোধ করা ইউআরএলটিকে অ্যাকাউন্টে নেয় না (এটি সর্বদা
location
নির্দিষ্ট হিসাবে পুনর্নির্দেশ করে এবং এর সাথে মেলে এমন কোনও কিছু উপেক্ষা করে pattern
)
আপনি কিছু কৌশল নিয়ে প্রথম ইস্যুটি কাটিয়ে উঠতে পারেন।
আপনি মোড়ানো পারেন RewriteHandler
একটি ContextHandler
, এবং একটি প্রসঙ্গের হ্যান্ডলার আপনি কোন সংযোগকারীগুলিকে তা থেকে অনুরোধ পরিচালনা করবে (নির্দিষ্ট করার অনুমতি দেয় setConnectorNames
)। সুতরাং, আপনি এটি পুনরায় লেখার জন্য কেবলমাত্র http সংযোগকারী (গুলি) এর অনুরোধগুলিতে প্রয়োগ করতে পারেন।
আমি যদিও দ্বিতীয় ইস্যুটি কাটিয়ে ওঠার কোনও উপায় ভাবতে পারি না।
আমি মনে করি এটির জন্য আপনার নিজের পুনর্নির্দেশের বিধিটি লিখতে আপনার সেরা বেট ইচ্ছে করে। আপনার যদি এটি করার জন্য যদি আপনার কাছে উন্নয়নের সংস্থান না থাকে তবে আমার সাথে যোগাযোগ করুন (আপনি আমার ব্লগের মাধ্যমে আমার ইমেল ঠিকানাটি খুঁজে পেতে পারেন, যা আমার প্রোফাইলে রয়েছে) এবং আমি একটি হুইপ আপ করতে পারি (জেটির মতো একই লাইসেন্সের আওতায়)। কোনও নিয়ম লিখতে এটি বেশ সোজা হয়ে যাবে যা HTTP- তে সরাসরি পুনঃনির্দেশ করে।