IT干货网

tomcat配置301重定向

flyfish 2022年03月15日 编程设计 144 0

 tomcat默认情况下不带www的域名是不会跳转到带www的域名的,而且也无法像apache那样通过配置.htaccess来实现。如果想要把不带“www'的域名重定向到带”www"域名下,又不想写代码,可以使用UrlRewriteFilter来实现。

1.简介

     urlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如 Tomcat,jboss,jetty,Resin,Orion等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。

2.下载

下载UrlRewriteFilter

wget http://urlrewritefilter.googlecode.com/files/urlrewritefilter-4.0.3.jar

并放入tomcat的 WEB-INF/lib下

3.配置tomcat

     编辑WEB-INF/web.xml 在其它servlet mapping前加入

<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>

4.添加跳转规则

     在WEB-INF下新建urlrewite.xml文件,加入跳转规则

<urlrewrite> 
  <rule> 
      <name>seo redirect</name> 
      <condition name="host" operator="notequal">^www.example.com</condition> 
      <condition name="host" operator="notequal">^localhost</condition> 
      <from>^/(.*)</from> 
      <to type="permanent-redirect" last="true">http://www.example.com/$1</to> 
  </rule> 
</urlrewrite>

参考文章

http://nematodes.org/martin/2010/02/04/301-permanent-redirect-with-tomcat-howto/

http://tuckey.org/urlrewrite/


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Java Lambda表达式入门