среда, 21 августа 2013 г.

301 redirect Apache Tomcat 6


Понадобилось сделать склейку сайта который находится под управлением  Tomcat 6, поэтому стандартный способ через mod_rewrite в .htaccess не работает. Поковырял гуглю на предмет 301 redirect и Tomcat .

Нужен фильтр UrlRewriteFilter http://tuckey.org/urlrewrite/ так как Tomcat не умеет сам делать редирект. Там же доходчиво описано как его ставить
  • Можно просто кинуть .jar в папку WEB-INF/lib  вашего проекта или добавить в зависимости Maven 
  • В WEB-INF/web.xml добавляем следующие строчки (желательно вверху вначале секций <filter>) :
<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>












  • В папке WEB-INF создаем файлик 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">

<!--

    Configuration file for UrlRewriteFilter
    http://www.tuckey.org/urlrewrite/

-->
<urlrewrite>

<rule>
<name>redirect</name>
<condition name="host" operator="equal">^exampledomain\.com</condition>
<from>^/(.*)</from>
<to type="permanent-redirect" last="true">http://newexampledomain.com/$1</to>
</rule>

</urlrewrite>






















После рестарта Tomcat, редирект должен нормально функционировать.







Комментариев нет:

Отправить комментарий