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>
相关推荐
- 将一个动态URL如`/product.php?id=123`重写为静态URL`/product/123`,可以这样配置: ``` ^/product\.php\?id=([^&]+) <to>/product/$1 ``` 6. **管理动态参数**: - 使用`<param>`标签可以在`<to>`中...
"jsp 利用urlrewritefilter实现伪静态" 这个标题表明了本文将探讨如何在JavaServer Pages (JSP) 中利用URLRewriteFilter来创建伪静态的URL。伪静态技术主要是为了优化搜索引擎排名和用户体验,使得动态生成的网页看...
在Web开发中,动态URL和静态URL有着不同的特性和应用场景。动态URL通常包含有服务器端脚本语言(如jsp)的参数,而静态URL则更易于理解和优化。本篇文章将详细探讨“jsp动态转静态URL重写”的概念、重要性以及实现...
URLRewriteFilter是一个非常实用的开源工具,它基于Apache的Tuckey项目,专门用于处理URL重写和路由规则,从而帮助我们轻松实现这一目标。 **1. URLRewriteFilter简介** URLRewriteFilter是基于Java Servlet ...
总的来说,URLRewriteFilter-4.0.3是实现动态URL与静态URL之间灵活转换的强大工具,对于提升网站的用户体验和搜索引擎友好性具有显著效果。通过深入理解和熟练运用,开发者可以构建出更加高效且优化的Web应用。
它基于Apache的Tuckey项目,提供了一种灵活的方式来控制请求URL的处理方式,包括将动态URL转化为静态URL,隐藏或改变URL结构,以及实现URL的重定向等。 1. **URL重写基础** URL重写的基本思想是,当用户访问一个...
通过以上介绍,我们可以看到静态URL和伪静态URL对于提高用户体验、增强网站的可维护性和搜索引擎友好性方面都具有重要作用。然而,选择哪种方式还需要根据具体的业务场景和技术条件来决定。纯静态网页适用于内容更新...
URLRewriteFilter是Web开发中处理URL的重要工具,通过灵活的规则配置,可以实现URL的静态化、重定向、参数处理等多种功能。正确使用URLRewriteFilter,不仅可以优化网站性能,提升用户体验,还能为网站的长期发展...
网站伪静态301重定向是网页优化与搜索引擎友好性的重要技术之一,它可以使动态URL看起来像静态页面,便于用户理解和搜索引擎抓取。`UrlRewriteFilter` 是一个基于Java的URL重写工具,适用于Tomcat等Servlet容器,...
通过使用UrlRewriteFilter,开发者可以在Struts和JSP应用中实现URL的伪静态化,即让动态页面的URL看起来像静态页面的URL,这对于SEO尤其有利,因为搜索引擎更容易抓取和理解静态化的URL。 标签"struts伪静态"意味着...
动态URL通常包含多个参数,而静态URL则更简洁,易于理解和记忆。 2. **为什么要实现伪静态**: - **用户友好**:静态化的URL对于用户来说更直观,易于理解,能快速知道页面内容。 - **搜索引擎优化**:搜索引擎更...
通过配置文件,开发者可以轻松地定义各种URL转换规则,实现动态URL到静态URL的映射,或者实现其他复杂的URL管理需求。 二、核心功能 1. **URL重写**:URLRewriteFilter的核心就是URL重写,它可以将动态URL转换为...
通过定义规则,我们可以将复杂的动态URL转换为简洁的静态形式,或者反之,将静态URL映射到动态处理逻辑。 1. **安装与配置**:要使用`urlrewrite`,首先需要将`urlrewritefilter`的jar文件添加到项目的类路径中。在...
URL重写允许我们将复杂的动态URL转换为简洁、易于理解和友好的静态URL形式,即使这些页面实际上是动态生成的。在这个过程中,`urlrewrite`工具扮演了关键角色。 `urlrewrite`是一个基于Apache服务器的模块,主要与...
当用户访问伪静态URL时,URLRewriteFilter会根据配置文件中的规则将请求重定向到相应的动态处理程序。在JSP中,你可以通过Servlet或者控制器来处理这些请求。例如,一个简单的Servlet可以是这样的: ```java ...
通过这种方式,动态网站可以模拟静态网站的URL结构,提高搜索引擎的友好性,同时不影响后端的动态处理逻辑。对于开发者来说,理解并熟练运用URL重写技术,对于提升Web应用的专业性和用户体验具有重要意义。
在这个"java urlrewrite 实现伪静态化 demo源码"中,我们可以深入理解如何使用URLRewrite框架来转化动态URL为更加友好的静态形式。 URLRewrite的核心概念是规则配置,通过定义一系列规则,可以将带有参数的动态URL...
2. **伪静态路径**:虽然服务器内部处理的是动态请求,但对外展示的URL看起来像是静态页面,有助于提高用户体验。 3. **安全性**:隐藏敏感信息,如Session ID,避免被恶意利用。 4. **SEO优化**:生成的URL更符合...
通过学习和理解URLRewriteFilter提供的规则语法,开发者可以灵活地定制URL处理逻辑,以满足不同Web应用的需求。 综上所述,URLRewriteFilter是一个强大的工具,可以帮助开发者在Java Web应用中实现复杂的URL管理,...