动态的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&index=$2</to>
</rule>
注意:
1.urlrewrite.xml是utf-8.所以如果你要在rule上加note标签为中文的话,也一定是要utf-8
2.UrlRewriteFilter 最好是配置在web.xml的前面filter上,不然有可能对有些url转变失去作用.
3.在写rule的时,如果有多个参数时,中间的连接符号&应该是&
下面对 urlrewrite.xml标签的一些说明:
urlrewrite属性:有仅只有一个.
rule属性::至少一个.
<name> 属性(可选)
<rule>
<name>World Rule</name>
<from>^/world/([a-z]+)/([a-z]+)$</from>
<to>/world.jsp?country=$1&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&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 UrlRewrite 是 将动态页面转换为静态页面的一种技术 例如 您网站页面是 http: www yourdomain com news docread aspx id 123 为什么使用UrlRewrite: 1 处理这样的情形:你要更改你的web应用...
在网上找了很多都不合心意,就知道改了下源码,只改了org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.class 文件,如果担心安全的朋友,可以下载 4.0.3的jar 替换UrlRewriteFilter.class即可。 confPath 默认 ...
urlrewrite 只支持单个配置文件,默认的配置文件为:/WEB-INF/urlrewrite.xml 现在对urlrewrite-3.2的源码进行了修改,使它能够支持多文件和通配符的形式加载自定义配置文件,即可以进行如下的配置: <param-name>...
urlrewrite重写地址,Urlrewrite 2.5.2 现在有2.6版本的,自己去网上找吧
URL Rewrite是微软针对IIS推出的一种对URL进行重写的扩展模块,目前支持用于IIS7及以上版本。该模块使IIS管理员能够创建强大的自定义规则,语法支持正则规则以及通配符规则过滤。它能够根据HTTP头和IIS服务器变量...
打造UrlRewrite源码 UrlRewrite一般都是在web.config里配置访问规则在路由到实际页面,所以先实现自定义节点信息读取,这里我定义了俩个类 webconfig定义了组,不需要的话可以把UrlRewriteConfigGroup类去掉并修改...
UrlReWrite(Url重写或伪静态)UrlReWrite(Url重写或伪静态)
IIS URL Rewrite模块(URL 重写)
UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址 优点:安全,美化,搜索引擎SEO
urlrewrite Jar包 urlrewrite-3.1.0.jar
描 述:UrlReWrite(Url重写或伪静态)完美示例源码 UrlReWrite(Url重写或伪静态)完美示例源码,已利用ActionlessForm解决原始地址form回传的问题 例如:/products.aspx?category=books 转换为/products/Books....
UrlRewrite.rarUrlRewrite.rar
UrlRewrite.dll 在使用开发的时候,win7或者win8的系统,可能会需要
URLRewrite使用时候一些属性的配置说明
URLRewrite URL重写组件 里边有相关配置说明 包括了web.Config 外附一个Css
urlrewrite 4.0.3 jar
java urlrewrite demo
IIS Urlrewrite2,IIS服务器URl重写工具,,IIS服务器URl重写工具,,IIS服务器URl重写工具,
UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。 优点 一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误...
url rewrite组件下载