2015-04-01 1 views
0
<rule> 
    <from>^/asd/(.*)/$</from> 
    <to type="temporary-redirect">%{context-path}/?asd=$1</to> 
</rule> 

мой веб-сайт размещен в myapp.com/testing и мой контекст Причал является devредирект не включает путь

так myapp.com/testing/dev/

, но когда я пытаюсь myapp.com/testing/dev/asd/123/

вместо myapp.com/testing/dev/?asd=123

Я получаю перенаправлено на myapp.com/dev/?asd=123

Я использую V 4.0 http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html

+0

Что делать u означает, что «мой сайт размещен как myapp.com/testing»? Что такое «тестирование»? Контекстный путь прав, вы должны исследовать, что является частью/testing вашего приложения. – Davide

+0

У меня есть локальный сервер причала на порту 8080, и мой администратор sys перенаправляет myapp.com/testing на мой localhost: 8080 –

ответ

0

У вас есть 2 вещи отводом с вашим запросом.

Ваш переписывают фильтр находится в противоречии с тем, что у вас есть перед Jetty (аппаратное или программное обеспечение, которое преобразования браузера (HTTP-клиент) запросы myapp.com/testing/dev/ на молы-х myapp.com/dev/. Jetty не знает о дополнительной /testing/ части пути , так что ваш переписанный фильтр не может добавить, что дополнительный /testing/ части своего 302 редиректа.

либо вам нужно сделать продукт перед Jetty достаточно умного, чтобы переписать заголовок в Location ответа, или вам необходимо настроить ваш переписать фильтр, чтобы включить дополнительную информацию о пути, о которой известно продукту перед Jetty.