动态的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>

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/skytalemcc/archive/2010/01/19/5214564.aspx

UrlRewrite.xml相关推荐

  1. urlrewrite使用小结

    urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三: 一:提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面前,如果用户随便乱 ...

  2. java怎么来用urlrewrite伪静态化和urlrewrite的配置

    1.首先去官网下载urlrewrite的包(urlrewrite-3.2.0.jar),加入到项目中: 2.在web.xml中加入以下配置: <filter> <filter-nam ...

  3. jsp+urlrewrite实现html分页简单粗暴实现

    今天去检查一同事写的一分页实现,看了有点郁闷,都说了要换成html实现方便搜索引擎收录,他还是用的js,真是晕.还得帮他解决 好吧.言归正传,我在他的基础上粗暴的修改了下,达到了基本的效果,带数字分页 ...

  4. JSP URL重写-urlrewrite

    http://blog.csdn.net/mr_tank_/article/details/11892965 URL重写的目的不言而喻,首先引入urlrewrite-4.0.0.jar[或者其他版本] ...

  5. urlrewrite 地址重写

    环境: Maven 3.0.4 Urlrewrite 2.5.2 Myeclipse 8.6.1 借此机会顺便提一下 Maven Project 的创建,会了的朋友或还不想了解 Maven 的朋友,可 ...

  6. urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]

    首先 加载 urlrewrite包 配置web.xml  [list]  [*] Java代码   <error-page> [*]             <error-code& ...

  7. 【转】伪静态URLRewrite学习笔记

    UrlRewrite: UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite.将我们的动态网页地址转化为静态的地址,如ht ...

  8. java web 伪静态_【Java Web】使用URLRewrite实现网站伪静态

    大部分搜索引擎都会优先考虑收录静态的HTML页面,而不是动态的*.jsp.*.php页面.但实际上绝大部分网站都是动态的,不可能全部是静态的HTML页面,因此互联网上大部分网站都会考虑伪静态--就是将 ...

  9. java urlrewrite_Java|urlrewrite|URL重写|多个参数

    1.0  web -info 目录下建立     urlrewrite.xml  文件 类似如下: View Source for full doctype...)> - - ^/morednf ...

最新文章

  1. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
  2. node开启子线程_真Node多线程
  3. android 启动app过程,Android P APP冷启动过程全解析(之四)
  4. dpkg: 处理软件包 xxx (--configure)时出错解决方法
  5. php调取 zabbix实时数据_zabbix-基础系列(三)-zabbix安装[官方版]
  6. hadoop 学习笔记:mapreduce框架详解
  7. C和指针之结构体大小和成员变量位置距离结构开始存储的位置偏移字节
  8. 前端字符串内HTML标签无效的处理方式
  9. SAP License:转一篇初学者必看的文章
  10. linux初始化进程
  11. 【重识 HTML + CSS】项目实战
  12. 中国军用装甲车和反IED车市场趋势报告、技术动态创新及市场预测
  13. 有限元分析法matlab,用MATLAB进行结构的有限元法分析
  14. 随机对偶动态规划 SDDP,报童模型的一个 python 例子
  15. 计算机信息处理工具教案设计,高一信息技术《现代信息处理工具》教案
  16. A002-186-2619-林斌锐
  17. 一阶导数和二阶导数的一些性质
  18. elasticsearch源码:unicast列表解析
  19. gcc常用命令与gcc编译器背后的故事
  20. Go 1.19 发行说明(翻译)

热门文章

  1. 40 岁的 C++ 没有中年危机
  2. 用google突破图书馆入口IP限制小技巧
  3. Spring监听器的完整使用步骤
  4. OkHttp相关知识(三)
  5. 黑盒测试用例设计方法-等价类划分法
  6. “我让这个世界更酷”2022华清远见研发产品发布会圆满成功
  7. 使用RTT代替UART,把你的JLink变成串口调试助手~
  8. 主机地址、网络地址、主机路由、网络路由
  9. 弹性云服务器能起到什么作用?
  10. delete、truncate 、Drop删除表的区别