Я пытаюсь укротить 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: протестировал переадресацию urlrewritefilter с перенаправлением в jsp через:
response.setStatus(302);
response.setHeader("Location", "pathb");
response.setHeader("Connection", "close");
Результат тот же - URL не перезаписывается.