私は urlrewritefilter を飼いならそうとしていますが、リダイレクトのあるルールがフォワードの別のルールと一致する場合、アドレスバーにリダイレクトしている URL が期待どおりに表示されないようです。
構成のスニペットを次に示します。
<rule>
<from>/patha</from>
<to type="redirect">/pathb</to>
</rule>
<rule>
<from>/pathb</from>
<to type="forward">/pathc</to>
</rule>
アクセスしようとしているときに、このルールによって期待されることpatha
patha
ブラウザを にリダイレクトするためのルールpathb
、アドレス バーの URLが変更されます。- このルールは最後ではないので、 のルール
pathb
もよく一致するため、ブラウザは pathc に転送されますが、これは転送であるため、アドレスバーの URL はpathb のままです。
しかし、実際に起こっていることは、アドレスバーを変更せずに pathc に転送していることです。
私の質問は次のとおりです。なぜそうなのか、どうすれば私が求めているものを実際に達成できるのでしょうか?
UPD: 次の方法でjspでリダイレクトを使用してurlrewritefilter forwardをテストしました:
response.setStatus(302);
response.setHeader("Location", "pathb");
response.setHeader("Connection", "close");
結果は同じで、URL は書き換えられません。