使用UrlRewriteFilter动态URL静态化
所用基于动态的url http://www.nihaoblog.com/content.jsp?id=1&contentid=404按照各大搜索引擎的喜好,应该美化成http://www.nihaoblog.com/content/1_404.html静态网页的方式,尽管目前的google及几大搜索引擎宣称支持动态页网的抓取,但与传统的html文件相比较抓取率仍不在一个数量级。Apche的mod_rewrite模块具有此功能,但是对于租用虚拟主机的用户来说就比较麻烦不太可能对所有运营商有更多的要求,需要条件依赖就不具通用性。
目前有一个解决方法,通过UrlRewriteFilter可以完全实现动态URL表态化,你可以将它直接应用到你的web应用中,不管你用的是jsp+javabean还是struts.
下面是使用方法:
1、下载http://tuckey.org/urlrewrite/#download目前版本是1.2,解压缩后将文件考到相应的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.nihaoblog.com/content.jsp?id=1&contentid=404
静态化为:
http://www.nihaoblog.com/content/1_404.html
配置如下:
<rule>
<from>/content/([0-9]+)_([0-9]+).html</from>
<to>/content.jsp?id=$1&contentid=$2</to>
</rule>
注意:有多个参数时,中的连接符号&应该是&
熟悉正则表达式的朋友可能一看就是明白rule的匹配原理了。更多的配置可以参照
http://tuckey.org/urlrewrite/manual/
分享到:
相关推荐
#### 四、Apache URL Rewrite配置步骤 1. **切换至Apache配置目录**: - 进入`/etc/httpd/conf`目录。 2. **启用URL Rewrite模块**: - 编辑`httpd.conf`文件。 - 找到`#LoadModule rewrite_module modules/mod...
URLRewrite的核心是基于Tuckey组织开发的URLRewriteFilter,这是一个基于Apache License 2.0的开源项目。 URLRewriteFilter主要通过在web.xml中添加配置来工作,它可以拦截请求,根据预设规则对URL进行转换。这个...
标题中的“urlrewrite包”指的是Tuckey组织开发的一个开源URL重写工具——UrlRewriteFilter,它基于Apache HTTP服务器的mod_rewrite模块的功能,适用于Java Servlet容器,如Tomcat、Jetty等。这个工具允许开发者通过...
urlrewrite2是微软IIS服务器的一个扩展,它是基于Apache的mod_rewrite模块而创建的,用于实现类似的功能。 在IIS服务器上,尤其是对于PHP开发环境,如PHPWAMP,有时需要同时运行不同版本的PHP以支持多个项目。...
以上只是URLRewrite配置的一些基本示例,实际上它的规则配置非常灵活,可以满足各种复杂的URL处理需求。在实践中,可以根据实际项目需求编写更具体的规则,以达到理想的效果。 在提供的压缩包文件中,"urlrewrite...
平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写。...
三、UrlRewrite配置与使用 1. 安装与集成:首先,需要下载并安装UrlRewrite.dll文件到IIS服务器的扩展目录中,然后在IIS管理器中启用URL重写模块,并添加UrlRewrite的配置文件。 2. 规则编写:UrlRewrite的规则...
1. **安装**:下载并安装IIS URL重写2的扩展,通常是`IIS Urlrewrite2.exe`文件,通过IIS Manager进行安装。 2. **添加规则**:在IIS Manager中选择目标站点,然后在“管理服务”下找到“URL重写”,点击“添加规则...
二、安装与配置IIS URL Rewrite 1. 安装:可以从Microsoft Web Platform Installer或者微软官方网站下载并安装URL Rewrite模块。 2. 配置:在IIS管理器中,选择目标站点,然后在“管理服务”中启用URL Rewrite。接着...
下面是一个简单的URLRewrite配置示例: ```xml ^/oldpath/(.*)$ <to type="redirect">/newpath/$1 ``` 这个规则会将所有以`/oldpath/`开头的请求重定向到`/newpath/`下对应的部分。 总结 URLRewrite作为Java ...
**三、UrlRewrite的配置与规则** UrlRewrite通常通过编写规则文件来实现URL重写,如IIS的web.config或Apache的.htaccess。规则通常包含正则表达式,用于匹配和转换URL。以下是一个简单的示例: ```xml <match ...
`URLrewrite.xml`文件是URLRewriteFilter的核心配置文件,其中包含了一系列具体的URL重写规则。为了确保配置文件的有效性和一致性,通常会使用DTD约束来定义XML文件的结构和元素类型。示例中的DTD约束如下所示: ``...
在Apache配置文件`httpd.conf`或`.htaccess`中,你可以通过`RewriteEngine`指令启用Rewrite模块,并使用`RewriteRule`指令定义URL重写规则。例如: ```apacheconf RewriteEngine On RewriteRule ^old-page.html$ /...
`URLrewrite`是一个基于Java的开源过滤器,它实现了Apache的mod_rewrite功能,广泛应用于Spring、Struts、JSF等Java Web框架中。它提供了强大的规则配置,使得开发者能够灵活地对URL进行重写和重定向。 在使用`URL...
以下是一个简单的urlrewrite配置示例: ```apacheconf <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 将动态URL重写为静态格式 RewriteRule ^article/(\d+).html$ article.php?id=$1 [L] ``` ...
`urlrewrite`是一个流行的开源Java过滤器,它基于Apache的`Tuckey URLRewriteFilter`,用于在Servlet容器(如Tomcat)中实现URL重写规则。这个jar包提供了强大的配置灵活性,使得开发者能够轻松地定义各种重写规则。...
URLRewrite技术是一种基于Apache服务器的开源URL重写工具,主要功能是通过配置规则来实现对URL的灵活管理和转换,从而实现SEO优化、隐藏真实路径、实现动态网站静态化等多种目的。在本研究总结中,我们将深入探讨URL...
首先,UrlRewrite是Tuckey开源组织提供的一款过滤器,它基于Apache的开源项目 mod_rewrite 的思想,实现了在Servlet容器(如Tomcat)中的URL重写功能。通过在web.xml中配置UrlRewriteFilter,我们可以定义一系列规则...
提供的源码示例程序可能包含了一个使用URLRewrite.dll进行URL重写的示例,通过研究这个程序,你可以更深入地了解如何在实际项目中应用和配置URLRewrite.dll。这有助于你掌握如何编写合适的重写规则,以及如何在代码...
Apache的Rewrite Module(重写模块)是Apache服务器中一个非常强大的工具,主要用于URL重写及重定向功能。它通过一系列规则对请求进行处理,实现动态地改变请求路径,从而达到优化网站结构、改善用户体验的目的。 ...