URL静态化-UrlRewriteFilter-urlrewrite.xml
URL静态化-UrlRewriteFilter-urlrewrite.xml
UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite,最典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页,并且适用于任何Web应用服务器(如 Resin,Orion,Tomcat等)。
URL静态化的好处很多:
1、对搜索的友好,因为有些搜索不能抓取动态页面或者对动态抓取的页面没有静态页面效率高。
2、屏蔽内部的url或文件路径结构。
3、美化url,看起来更像html页面。
UrlRewriteFilter使用:
1、下载http://tuckey.org/urlrewrite/#download。解压后将文件放到相应的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
<rule> <from>/vr_show/showid_z([^.]*).*</from> <to type="forward">ProAction!vrShow.action?showId=$1</to> </rule>
注意:
1、urlrewrite.xml是utf-8,所以如果你要在rule上加note标签为中文的话,也一定是要utf-8
2、UrlRewriteFilter最好是配置在web.xml的前面filter上,不然有可能对有些url转换失去作用。
3、在写rule的时,如果有多个参数时,中间的连接符号&应该是&。
urlrewrite.xml标签的一些说明:
urlrewrite属性:有仅只有一个。
rule属性:至少一个。
name属性:可选。
note属性:可选。
condition属性:可选。
type属性:最主要就是 forward (default):在客户端URL是不转向的 redirect 在客户端URL是转向的,所以一般采用 forward。
抱歉,暂停评论。