`
chaico
  • 浏览: 218457 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

动态的URL变成静态的URL可以UrlRewriteFilter来处理

阅读更多

UrlRewriteFilter的介绍:
    UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如 Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。 
   为什么要使动态的URL变成伪静态的URL:
   1:为了对搜索的友好,因为有些搜索不能抓取动态页面或是对动态抓取的页面没有静态页面高.
   2:屏蔽内部的url结构.
   3:美化url.
   UrlRewriteFilter使用:
     1.下载http://tuckey.org/urlrewrite/#download目前稳定的版本是2.6,最新版3.1,推荐使用2.6版.解压缩后将文件考到相应的web-inf/lib和web-inf下.
     2、配置web.xml
      <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> 
</filter-mapping>


     根据自己的需要,将相应目录下的url转给UrlRewriteFilter来处理。 
   3、配置urlwrite规则文件WEB-INF/urlrewrite.xml 
  http://www.5a520.cn/book/116 会直接forward 到 http://www.5a520.cn/book.php?id-116 结果都是"创世传奇之魔族风云 _玄幻小说_小说520网"这个标题.
  http://www.5a520.cn/bookxuanhuan/3  会直接forward 到 http://www.5a520.cn/cata.php?id=bookxuanhuan&index=3 结果都是"玄幻小说_小说520网"这个标题.
配置如下: 
 

<rule>
        <from>/book/([0-9]+)$</from>
        <to>/book.php?id=$1</to>
    </rule>

 <rule>
        <from>/book([a-z]+)$</from>
        <to>/cata.php?id=book$1</to>
 </rule>

 <rule>
        <from>/book([a-z]+)/([0-9]+)$</from>
        <to>/cata.php?id=book$1&amp;index=$2</to>
 </rule>


   注意:
   1.urlrewrite.xml是utf-8.所以如果你要在rule上加note标签为中文的话,也一定是要utf-8
   2.UrlRewriteFilter 最好是配置在web.xml的前面filter上,不然有可能对有些url转变失去作用.
   3.在写rule的时,如果有多个参数时,中间的连接符号&应该是&amp;

  下面对 urlrewrite.xml标签的一些说明:
  urlrewrite属性:有仅只有一个.
  rule属性::至少一个.

<name> 属性(可选) 
    <rule>
    <name>World Rule</name>
    <from>^/world/([a-z]+)/([a-z]+)$</from>
    <to>/world.jsp?country=$1&amp;city=$2</to>
    </rule>
  <note>属性(可选)
    <rule>
    <name>World Rule</name>
    <note>
        Cleanly redirect world requests to JSP,
        a country and city must be specified.
        </note>
    <from>^/world/([a-z]+)/([a-z]+)$</from>
    <to>/world.jsp?country=$1&amp;city=$2</to>
    </rule>

    <condition>属性(可选) 
    可以对时间,方法,来源,端口,类型等进行设置,如
    <condition name="user-agent" operator="notequal">Mozilla/[1-4]</condition> 客户端游览器不是Mozilla14版本以下可以访问.
   

<condition type="user-in-role" operator="notequal">bigboss</condition> 是bigboss不能访问.
    <condition name="host" operator="notequal">www.example.com</condition> 主机是www.example.com不能访问
    <condition type="method" next="or">PROPFIND</condition> 下个rule是PROPFIND可以访问
    <condition type="method">PUT</condition> 是put类型

    type属性:
    最主要就是 forward (default):在客户端URL是不转向的 redirect 在客户端URL是转向的,所以一般采用 forward
 set属性:这个有点像apache中的rewrite强大之处了.除了下面的设置client,还可以设置cookie,content-   type,charset,header,request 
   

<rule>
    <condition name="user-agent">Mozilla/3/.0 (compatible; AvantGo .*)</from>
    <from>.*</from>
    <set name="client">AvantGo</set>
    </rule>
    <rule>
    <condition name="user-agent">UP/.Browser/3.*SC03 .* </from>
    <from>.*</from>
    <set name="client">Samsung SCH-6100</set>
    </rule>

转:http://blog.csdn.net/skytalemcc/article/details/5214564

分享到:
评论

相关推荐

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

    使用URL Rewrite实现网站的伪静态实例,包括urlrewritefilter-4.0.3.jar

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

    urlrewritefilter包。重写url,实现url伪静态,可以将长url命名成指定短url,或者重命名url隐藏敏感信息。

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

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

    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-4.0.3 伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来...

    (301重定向)urlrewritefilter-4.0.3

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

    urlrewritefilter-2.6

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

    urlrewritefilter-4.0.3.jar,301重定向

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

    伪静态技术

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

Global site tag (gtag.js) - Google Analytics