tomcat配置301重定向(urlRewrite URL重写)

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/

时间: 2024-10-07 17:00:54

tomcat配置301重定向(urlRewrite URL重写)的相关文章

tomcat配置301重定向

tomcat配置301重定向 公司域名很多,如:www.wyy.com/wyy.com/wyy.net/blog.wyy.com 为了让公司域名统一化,就需要把其他的域名跳转到www.wyy.com 1.简介 urlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite.适用于任何Web应用服务器(如Tomcat,jboss,jetty,Resin,Orion等).其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页. 2.下载 Wg

ngin配置301重定向设置方法和nginx子目录301重定向

这篇文章主要介绍了ngin配置301重定向设置方法和nginx子目录301重定向,需要的朋友可以参考下nginx版本为1.1.19. 若域名由a.com转移到了b.com,并对两个域名有所有权,可以:复制代码 代码如下:server{ server_name a.com; return 301 $scheme://b.com$request_uri; } 重启服务器,然后看一下成功与否:复制代码 代码如下:curl -I a.com nginx子目录301重定向设置方法 如我想把www.b.co

ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置

核心提示:大 家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的 静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用静态文件可提高服务器的运行稳定和速度... 大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一 个一个的静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用

UrlRewrite(URL重写)--ASP.NET中的实现

概述 今天看了下URL重写的实现,主要看的是MS 的URL Rewrite. URL重写的优点有:更友好的URL,支持老版本的URL URL重写的缺点有:最主要的缺点是性能低下,因为如果要支持无后缀的URL(但更多的情况是我们要支持这种方式)就必须在IIS中配置所有的URL(包括js,css,image)都要转发到aspnet_isapi中,解决方法可以参见 慎用url重写:还有一个性能问题是,根据源代码,在匹配url时,用正则表达式尝试匹配每一个规则,直至有一个匹配成功,或都匹配不成功才结束.

urlrewrite(URL重写)配置技巧

http://cdn.rawgit.com/paultuckey/urlrewritefilter/master/src/doc/manual/4.0/index.html 官方文档. 支持对进站url的映射配置. 进站url映射 <!-- 进站url 是/demo/xxx.html 的请求会被转发到/demo.action?id=xxx 的地址 --> <rule> <from>^/demo/(.*).html$</from> <to type=&q

Windows 2008 R2上配置IIS7或IIS7.5中的URLRewrite(URL重写)实例

1. 安装URL Rewrite模块 首先从官网下载安装URL Rewrite Module 2.0,下载页面 或者直接点击这里下载: re_write_x86_zh_CN.msi from microsoft re_write_x64_zh_CN.msi from microsoft安装即可 2.URL Rewrite模块配置实例 2.1.在web.config中添加如下节点 <system.webServer><rewrite><rules><rule nam

关于请求转发、重定向、url重写

1.先来记录一个web.xml中servlet的问题,java网站本质是servlet,在web.xml中配置servlet的映射规则. 发送url请求->服务器接受->servlet处理->返回处理结果 servlet的url-pattern要以/开头 2.在学习javaWeb时了解到了转发和重定向.

关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)

以数据库后台驱动的动态内容的网站,经常会遇到这些的问题: 当在浏览器的地址栏输入一个无效的参数时,会出现数据库的错误提示,这是一个安全的隐患 搜索引擎无法收录你的所有网页 网页的链接地址是一系列的参数,对浏览用户和搜索引擎都不易理解 这些问题都可以通过Apache服务器的一个基本的模块mod_rewrite来解决,默认的安装的Apache就会装有这个模块.要启用这个模块,打开 httpd.conf文件,察看下面的两行是否被屏蔽,第一行是载入mod_rewrite模块,第二行是启用这个模块. Lo

Nginx URL重写(rewrite)配置及信息详解

Nginx URL重写(rewrite)配置及信息详解 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的.默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持 rewrite是实现URL重写的关