`

UrlRewriteFilter--动态URL静态化

阅读更多

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/42495983.html

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

这样做就避免了url中出现?&之类的符号,而且页面伪静态化之后也增加了被搜索引擎找到的概率。

 

该项目主页:http://tuckey.org/urlrewrite/

 

 

使用方法:

1、下载http://tuckey.org/urlrewrite/#download,解压缩后将WEB-INF下的文件考到相应的web-inf/libweb-inf下。
2
、配置web.xml

    <filter>

       <filter-name>UrlRewriteFilter</filter-name>

       <filter-class>

           org.tuckey.web.filters.urlrewrite.UrlRewriteFilter

       </filter-class>

       <init-param>

           <param-name>logLevel</param-name>

           <param-value>WARN</param-value>

       </init-param>

    </filter>

    <filter-mapping>

       <filter-name>UrlRewriteFilter</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

根据自己的需要,将相应目录下的url转给UrlRewriteFilter来处理。
3
、配置urlwrite规则文件WEB-INF/urlrewrite.xml 

详见:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/index.html

 

4、在Struts2中集成

web.xml里把FilterDispatcher加两个参数(REQUESTFORWARD

  <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>/*</url-pattern>

    <dispatcher>REQUEST</dispatcher>

    <dispatcher>FORWARD</dispatcher>

  </filter-mapping>

 

5、配置过滤器

       一定要禁忌,过滤器的配置顺序也很重要!!!

当把UrlRewriteFilter放到字符转码过滤器前面以后就相当于字符转码过滤器无效

 

备注:按照Struts2APIfilter的顺序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher

 

6、示例

第一个常用个规则就是站内的简单重写。
<rule>
  <from></from>
  <to type="forward></to>
</rule>
  <from></from>
写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写: 
<rule>
  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
  <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
</rule>
  
简单的介绍一下常用的正规表示式:
代码 说明
.
匹配除换行符以外的任意字符
\w
匹配字母或数字或下划线或汉字
\s
匹配任意的空白符
\d
匹配数字
\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束

常用的&要用  &amp;来表示。$1,$2代表与你配置正规表达式>/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
 
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
<rule>
     <from>^/rss/yahoo\.html$</from>
       <to type="redirect">    http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
      </to>
</rule>

 

示例二

    <rule>

       <note>无参数匹配</note>

       <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)$</from>

       <to type="forward">/$1.jsp</to>

    </rule>

 

    <rule>

       <note>将所有.jsp文件映射为.html</note>

       <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+).html$</from>

       <to type="forward">/$1.jsp</to>

    </rule>

 

 

供学习参考的帖子:

主题:在Java web服务器内使用url rewrite

url rewritestruts2整合

主题:Struts2小结

分享到:
评论

相关推荐

    urlrewritefilter-4.0.3.jar.zip

    1. **SEO优化**:隐藏实际的动态参数,生成更友好的静态化URL,提升搜索引擎的友好性。 2. **路径重定向**:根据不同的条件将请求重定向到其他URL,如旧版页面向新版页面的迁移。 3. **会话管理**:通过URL附加...

    urlrewritefilter-4.0.3.jar

    这是urlrewritefilter-4.0.3.jar下载,通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL静态地址,本质上通过伪地址进行页面跳转。 软件介绍 urlrewritefilter-4.0.3.jar是有时候项目中的...

    urlrewritefilter-4.0.3.zip

    URLRewriteFilter是一款广泛应用于Java Web开发中的开源过滤器,其主要功能是对HTTP请求的URL进行重写,从而实现URL的美化、动态URL的静态化等多种目的。在这个4.0.3版本中,我们看到了这个强大工具的最新迭代,它在...

    urlrewritefilter-4.0.3.jar 实现网站伪静态301重定向

    网站伪静态301重定向是网页优化与搜索引擎友好性的重要技术之一,它可以使动态URL看起来像静态页面,便于用户理解和搜索引擎抓取。`UrlRewriteFilter` 是一个基于Java的URL重写工具,适用于Tomcat等Servlet容器,...

    urlrewritefilter-3.2.0.zip

    - **SEO优化**:通过将动态生成的URL转换为静态化,利于搜索引擎爬虫抓取,提高搜索排名。 - **前后端分离**:在单页应用中,后端API与前端路由的解耦,实现RESTful API。 - **安全防护**:隐藏敏感信息,防止...

    urlrewritefilter-3.1.0.zip

    1. **URL美化**:通过隐藏Servlet路径,将动态URL转换为静态或伪静态形式,提高用户体验,同时也有利于搜索引擎的收录。 2. **会话管理**:可以将Session ID附加到URL中,实现无Cookie的会话跟踪。 3. **重定向...

    urlrewritefilter-2.6.zip(URL重写,重命名)

    - **伪静态化**:动态页面通过URL重写可变为静态化,如`/product.php?id=1`可转换为`/product/1.html`,对搜索引擎友好。 - **隐藏参数**:某些敏感信息如用户ID、订单号等,可以通过重写隐藏在URL中,提升安全性...

    urlrewritefilter-2.6.0-src

    URLRewriteFilter是一款非常流行的开源HTTP重写过滤器,广泛应用于Java Web开发中,它主要用于处理和重写URL,帮助开发者实现动态到静态URL的转换、URL参数的隐藏、会话ID管理等多种功能。在2.6.0版本中,这个工具...

    使用URL Rewrite实现网站的伪静态实例(urlrewritefilter-4.0.3)

    它将动态网页的URL转化为看似静态的URL,使得用户和搜索引擎更容易理解和处理。在这个实例中,我们将深入探讨如何利用`URL Rewrite`工具,特别是`UrlRewriteFilter 4.0.3`版本,来实现网站的伪静态功能。 `...

    urlrewritefilter-3.2.0下载

    通过使用UrlRewriteFilter,开发者可以在Struts和JSP应用中实现URL的伪静态化,即让动态页面的URL看起来像静态页面的URL,这对于SEO尤其有利,因为搜索引擎更容易抓取和理解静态化的URL。 标签"struts伪静态"意味着...

    urlrewritefilter-4.0.4.jar.zip

    - **URL美化**:隐藏动态参数,生成静态化的URL。 - **SEO优化**:创建对搜索引擎友好的URL。 - **URL编码与解码**:处理URL中的特殊字符。 - **条件判断**:根据请求参数、请求方法等进行条件匹配。 - **自定义响应...

    urlrewritefilter-2.6

    把url改成静态,使搜索引擎更容易找到。

    urlrewritefilter-3.1.0.jar.zip

    1. **URL重写**:URLRewriteFilter的核心就是URL重写,它可以将动态URL转换为静态化的形式,如将`/product?id=123`转换为`/product/123.html`,使得URL更具可读性。 2. **路径参数处理**:支持从URL中提取参数,并...

    urlrewritefilter-4.0.0.zip

    例如,将动态参数化的URL(如`/product.php?id=123`)转换为更静态、更具描述性的URL(如`/product/shoes`)。这不仅使URL更易于记忆,也提高了搜索引擎对网页的理解。 URLRewriteFilter是基于Apache的开源项目...

    urlrewritefilter-4.0.3.jar,301重定向

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

    urlrewritefilter实现伪静态

    在Web开发中,为了提高用户体验和搜索引擎优化(SEO),我们常常需要将动态URL转化为看似静态的格式,这就是所谓的“伪静态”。URLRewriteFilter是一个非常实用的开源工具,它基于Apache的Tuckey项目,专门用于处理...

Global site tag (gtag.js) - Google Analytics