URLRewriteFIlter, как удалить контекст / имя папки? - PullRequest
2 голосов
/ 19 декабря 2011

Ссылка на мой предыдущий вопрос , я хочу переписать http://www.demo.com/context/user.do?action=home в http://www.demo.com, и мне посоветовали попробовать URLRewriteFilter.

следующий код

   <rule>
        <from>^/$</from>    
        <to type="redirect">%{context-path}/user.do?action=home</to>    
   </rule>

не удаляет имя контекста, то есть мне все еще нужно ввести с http://www.demo.com/context/

Учитывая, что весь пример на официальном сайте основан на верхнем контексте, действительно ли RewriteFilter является правильным инструментом для решения первоначальной проблемы?

1 Ответ

0 голосов
/ 19 декабря 2011

Вместо этого вам необходимо развернуть веб-приложение в корне контекста. Либо переименуйте WAR в ROOT.war (и удалите папку /ROOT по умолчанию в веб-приложениях Tomcat, если есть), чтобы Tomcat автоматически развернул ее в корневом каталоге, или отредактируйте <Context> элемент веб-приложения context.xml для указания path="" вместо path="/context".

Фильтр перезаписи работает только на уровне веб-приложения, а не на уровне Tomcat, поэтому пытаться использовать его для изменения пути к контексту веб-приложения (который сам по себе должен быть настроен на уровне Tomcat) не имеет смысла.

Смотри также:

...