Как заставить UrlRewrite изменить мой адрес? - PullRequest
0 голосов
/ 10 января 2011

Нужно избавиться от jsessionid от моего URL.После некоторых исследований в Интернете выяснилось, что UrlRewrite может это сделать.

Так что я создал для него правило.Вот XML-файл (urlrewrite.xml):

<urlrewrite>
    <rule>
        <name>Strip SessionID</name>
        <note>Strip all URLs of Session ID</note>
        <from>^(.*)(;jsessionid=[a-zA-Z0-9]{32})(.*)$</from>
        <to encode="false">$1$3</to>
    </rule>
</urlrewrite>

Проблема в том, что он не совсем работает.Правильно ли мое правило?

Я попытался немного отладить.И я использовал это правило:

<rule>
  <name>Strip SessionID</name>
  <note>Strip all URLs of Session ID</note>
  <from>initialPage.jsp</from>
  <to encode="false">redirectPage.jsp</to>
</rule>

Зайдя в браузер и введя http://localhost:8080/initialPage.jsp и нажав enter (конечно) я получаю большой сюрприз.Оно работает.

Я перенаправлен на redirectPage.jsp .Я имею в виду, я вижу эту страницу.

Но вот хитрость : URL-адрес в адресной строке браузера не изменился.

Каким образом этот UrlRewrite помогает мне избавиться jsessionid , если я все еще вижу это там?Есть идеи ?Как настроить правило, чтобы помочь мне НЕ увидеть это?

Ответы [ 2 ]

1 голос
/ 10 января 2011

Не совсем понятно, чего вы пытаетесь достичь.Чтобы избавиться от jsessionid, вам нужно обрабатывать URL-адреса, сгенерированные вашим приложением, а не входящие URL-адреса, поэтому вам нужно указать <outbound-rule>, см. Соответствующий пример здесь .

Относительновторой фрагмент - по умолчанию UrlRewriteFilter перенаправляет ваш запрос на новый адрес, а не перенаправляет его, поэтому адресная строка остается прежней.Вы можете настроить его для перенаправления вашего запроса, используя <to type = "redirect">.

0 голосов
/ 10 января 2011

В аналогичном квесте несколько месяцев назад я натолкнулся на эту статью - она ​​помогла мне избавиться от проблемы, связанной с параметром jsessionid в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...