1.示例
http://www.onlyfun.com/goods/company.jsp?companyId=455326 ==> http://www.onlyfun.com/company/455326.html
2.好处
(1)更好满足搜索引擎要求;
(2)更美观,给用户带来更良好的体验;
(3)安全性(页面,参数,技术)。
urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三:
一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息
3.实现
(1)第三包urlrewrite;(2)Apache HTTP Server 2.x配制mod_proxy,Rewrite;(3)struts、springMVC reset风格等。
4.urlrewrite示例
(1)下载2.6或3.X版jar包导至项目。下载地址:http://www.tuckey.org/urlrewrite/ (以3.2为示例)。
(2)解压下载文件,将urlrewritefilter-3.2.0\WEB-INF\lib\ urlrewrite-3.2.0.jar,导入工程。
(3)将urlrewritefilter-3.2.0\WEB-INF\ urlrewrite.xml,加入至工程WEB-INF目录下。
(4)web.xml添加如下代码(在urlrewrite.xml中可找到),拦截请求,对匹配的请求进行rewrite。
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(5)urlrewrite.xml中配制需实现静态化的请求。
5.urlrewrite.xml配制
(1)rule配制
处理伪静态化地址。如
将请求为http://www.onlyfun.com/company/455326.html转至http://www.onlyfun.com/goods/company.jsp?companyId=455326进行处理,
地址栏中仍显示为http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制
<rule>
<from>^/company/([0-9]+).html$</from>
<to>/goods/company.jsp?companyId=$1</to>
</rule>
<from>通过正则表达式对请求进行匹配</from>
<to>实际请求地址</to>
(2)outbound-rule配制
将页面的超链接选项转化为伪静态化,如:
http://www.onlyfun.com/goods/company.jsp?companyId=455326 转化为 http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制
<outbound-rule>
<from>^/urlrewriteDemo/goods/company.jsp\?companyId=([0-9]+)$</from>
<to>/urlrewriteDemo/company/$1.html</to>
</outbound-rule>
同时页面中的超链接需经过response.encodeUrl(url)转化,或采用<C:URL>标签进行转化。如:
<c:url value="/goods/company.jsp?companyId=${goods.company.companyId }" var="tempUrl"></c:url>
<a href="${tempUrl }"> ${goods.company.companyName }</a>
(3)注意:转义&=>& ?=>/?等。
6.参考资料
urlrewrite.xml配置http://www.tuckey.org/urlrewrite/manual/2.6/#filterparams
正则表达式http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
本地查看示例http://localhost:8080/projectname/rewrite-status
7.DEMO源码地址
http://download.csdn.net/detail/junliu0930/3881220
8.apache整合404找不到地址问题
httpd.conf中配制,伪路径由tomcat进行处理。
相关推荐
在这个"java urlrewrite 实现伪静态化 demo源码"中,我们可以深入理解如何使用URLRewrite框架来转化动态URL为更加友好的静态形式。 URLRewrite的核心概念是规则配置,通过定义一系列规则,可以将带有参数的动态URL...
提供的`UrlRewriteDemo`可能包含了演示如何使用UrlRewrite实现伪静态的示例代码和配置文件,可以帮助你更好地理解并实践上述概念。 通过UrlRewrite组件,我们可以轻松地实现URL重写和伪静态,从而提升网站的用户...
URLRewrite.dll是微软IIS(Internet Information Services)服务器中的一个核心组件,用于实现URL重写功能,对于实现伪静态起着关键作用。 **URLRewrite.dll介绍** URLRewrite.dll是IIS扩展模块的一部分,主要功能...
`Url Rewrite伪静态组件`是Microsoft为IIS(Internet Information Services)提供的一款强大工具,用于实现这种功能。本文将深入探讨这个组件的原理、安装与配置过程,以及其在实际应用中的重要性。 首先,让我们...
这个工具的主要目的是实现URL的伪静态化,提高网站的搜索引擎优化(SEO)效果,并且能够自动转换页面内的链接,使得程序员在编写代码时无需考虑URL的具体格式。 **主要功能** 1. **URL伪静态化**:Url Rewrite ...
UrlRewrite是一个强大的URL管理工具,它主要用于将复杂的URL转换为简单、易记且友好的形式,这个过程被称为URL重写或伪静态处理。在Web开发中,URL重写技术对于提升用户体验、优化搜索引擎排名(SEO)以及维护网站...
### Url Rewrite Filter 实现页面伪静态化:详细步骤与实例解析 #### 一、引言 在现代Web开发中,为了提升用户体验、提高搜索引擎友好度以及优化网站结构,页面伪静态化成为了一种常见的技术手段。本文将详细介绍...
这个标题所指的测试文件主要用于检测服务器环境是否支持使用PHP的mod_rewrite模块来实现伪静态功能。下面将详细讲解这个主题。 **PHP-_rewrite** PHP-rewrite是基于Apache Web服务器的mod_rewrite模块与PHP结合的一...
在本示例源码中,我们将深入理解UrlReWrite的工作原理、应用场景以及如何通过源码实现。 1. **Url重写基本概念** - **Url重写**:Url重写是指将用户请求的实际URL(可能包含动态参数)转换为一个更加友好、简洁的...
标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...
在这个实例中,我们将深入探讨如何利用`URL Rewrite`工具,特别是`UrlRewriteFilter 4.0.3`版本,来实现网站的伪静态功能。 `UrlRewriteFilter`是一个基于Apache开源项目Tuckey的Java过滤器,用于在Web应用中执行...
在ASP.NET中,可以使用URL Routing或者IIS的URL Rewrite模块来实现伪静态。 **URL Routing** 是ASP.NET MVC框架中的一个重要特性,允许开发者定义自定义的URL模式,从而将动态请求映射到控制器和动作。通过设置路由...
在Java Web开发中,"伪静态 URLRewrite"是一个重要的技术概念,主要用于优化网站的URL结构,使其看起来更像静态页面,从而提升用户体验和搜索引擎优化(SEO)。`URLRewrite`是一个基于Apache开源项目Tuckey开发的...
通过合理配置urlrewrite规则,不仅可以实现伪静态,还可以进行重定向、隐藏某些参数、改变请求路径等多种功能。而正则表达式的灵活运用,使这一切成为可能。 在压缩包中的“正则表达式.txt”文件,可能包含了更多...
在实际应用中,开发者应根据项目需求选择合适的方法,结合IIS Rewrite等工具,灵活地实现ASP伪静态化、URL重写和静态化,以达到最佳效果。安装文件`isapi_rwl_0055.msi`可能是IIS Rewrite模块的一个版本或补丁,用于...
这个"UrlReWrite(Url重写或伪静态)完美示例源码"包含了实现这些功能的具体代码,对于开发者来说是一份宝贵的参考资料。通过阅读和分析源码,我们可以: - 学习如何配置和编写URL重写规则。 - 了解内部实现逻辑,包括...
例如,AspxToHtmlDemo可能是一个演示如何实现这些功能的示例项目,它可能包含了实现静态化和伪静态化的代码示例、配置文件以及相应的解释文档。 总之,掌握和应用这些技术,能够帮助开发者优化网站性能,提高用户...
在Java中实现URL重写(URL rewrite)是为了实现伪静态,这是一种优化网站SEO(搜索引擎优化)的技术。通过将动态URL转换为看似静态的URL格式,可以提高网站的可读性和搜索引擎友好性。以下是对给定代码的详细解释: ...
`urlrewrite`是一个基于Apache Tomcat的URL重写过滤器,它可以方便地实现URL的重写和伪装,包括实现伪静态功能。要使用`urlrewrite`,你需要先将其添加到你的项目依赖中,通常是在`pom.xml`文件中引入对应的Maven...
网人WRMPS6.2.0 Rewrite组件是一款专门用于实现伪静态功能的软件,它主要应用于服务器环境,以提供更友好的URL结构,提高网站的SEO优化效果。伪静态技术是将动态网页的URL转换为静态化或者看似静态化的形式,使得...