tomcat默认情况下不带www的域名是不会跳转到带www的域名的,而且也无法像apache那样通过配置.htaccess来实现。如果想要把不带“www'的域名重定向到带”www"域名下,又不想写代码,可以使用UrlRewriteFilter来实现。
urlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Tomcat,jboss,jetty,Resin,Orion等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。
下载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>
<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/
如何联系我:【万里虎】www.bravetiger.cn
【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)
【博客】http://www.cnblogs.com/kenshinobiy/
Apache下web环境,通过修改.htaccess文件即可实现重写URL,尤其是处于SEO考虑,将域名格式统一,例如将带www的域名统一301重定向到不带www的域名,或者将不带www的域名统一301重定向到带www的域名。
【图文】怎么配二级域名?怎么做URL重定向?
1、登录阿里云,进入控制台2、在左侧菜单找到域名》进入域名列表3、点击对应域名右侧的管理,进入单域名管理控制台4、选择域名解析5、点击右侧的添加记录6、这里就是关键了A记录就可以创建一个标准的二级域名;显性URL或隐性URL,就可以将一个域名、二级域名指向一个URL地址。