Url Rewrite перенаправляет, а не перезаписывает в бэкэнде

Я думал, что tuckey-urlrewrite-filter перепишет URL-адрес в бэкэнде. Так, как если бы я набрал в адресной строке http://localhost:8080/TEST/some/yo, я ожидаю, что этот адрес останется в адресной строке, но в бэкэнде, чтобы Tomcat обработал его, как если бы я набрал http://localhost:8080/TEST/jspinwebinftest/?param=yo, но вместо этого он перенаправляется на http://localhost:8080/TEST/jspinwebinftest/?param=yo и показывает это в адресной строке.

Как я могу заставить его переписывать только URL-адрес в бэкэнде? Вот мой urlrewrite.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
       <from>^/some/(.*)$</from>
       <to type="redirect">/TEST/jspinwebinftest/?param=$1</to>
    </rule>
</urlrewrite>

person developerwjk    schedule 27.03.2014    source источник


Ответы (1)


Я нашел ответ. На самом деле довольно просто. Мне нужно было удалить type="redirect", который был в примере XML на сайте tuckey. И я обнаружил, что при перенаправлении вы должны добавить свое контекстное приложение в тег to, но без перенаправления вы не должны:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
       <from>^/some/(.*)$</from>
       <to>/jspinwebinftest/?param=$1</to>
    </rule>
</urlrewrite>
person developerwjk    schedule 27.03.2014