java urlrewrite实现伪静态化
1.示例
http://www.onlyfun.com/goods/company.jsp?companyId=455326 ==> http://www.onlyfun.com/company/455326.html
2.好处
(1)更好满足搜索引擎要求;
(2)更美观,给用户带来更良好的体验;
(3)安全性(页面,参数,技术)。
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>
response.encodeURL(URL);
(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进行处理。
分享到:
相关推荐
UrlRewriter是一款强大的URL重写工具,主要用于Java应用程序,尤其是基于Web的应用程序,如Servlet容器或Java EE服务器。它的核心功能是将用户友好的、可搜索引擎优化(SEO)的URL映射到实际的服务器资源,这在提升...
在Web开发中,URL重写技术通常与Apache服务器上的mod_rewrite模块或者.NET框架中的ISAPI_Rewrite等组件关联。以下是对URLRewriter及其测试代码的详细解释: 1. **URL重写的基本概念**: - URL重写(URL Rewriting...
Java中的伪静态URL重写是一种优化网站SEO(搜索引擎优化)的技术,它允许用户通过静态URL(如:http://127.0.0.1:8080/pro/index.html)来访问动态生成的页面(如:http://127.0.0.1:8080/pro/index.jsp)。这种技术...
Java URLRewriter是一个用于处理和重写URL的工具,它在Web开发中起着关键作用,尤其是在实现URL美化、URL路由、以及隐藏实际路径等方面。本文将深入探讨URLRewriter的工作原理、使用方法以及相关知识点。 ...
使用UrlRewriter Java时,开发者需要在Web应用的配置文件(如web.xml)中添加必要的设置,然后创建一个URL重写规则配置文件。这个配置文件通常包含一系列规则,每条规则定义了输入URL和期望的输出URL之间的映射关系...
在Java Web开发中,我们可以使用多种技术实现URL重写,其中包括Apache的`mod_rewrite`模块(在使用Tomcat等非Apache服务器时,可能需要额外的中间件支持)以及Java内置的`Filter`机制。这里我们主要讨论使用Java ...
UrlRewriter是一款强大的URL重写工具,主要用于Java应用程序,尤其是Web应用。它的主要功能是将用户请求的不友好的URL转换为更具可读性和搜索引擎优化(SEO)友好的格式。这个版本是UrlRewriter的v2.0 RC1,RC1代表...
UrlRewriter Java v2.0 RC1是一个用于Java Web应用程序的URL重写过滤器。它允许开发人员通过简单的XML配置文件来定义URL重写规则,从而实现URL的友好化和优化。这个库可以帮助开发人员更好地控制和管理Web应用程序的...
UrlRewriter Java v2.0 RC1_...UrlRewriter Java v2.0 RC1_urlrewriterjava 可以帮助开发人员快速实现 URL 重写功能,优化网站 URL 结构,提升用户体验和搜索引擎排名,是 Java Web 开发中的重要工具之一。
UrlRewriter Java v2.0 RC1 是一个用于Java Web应用程序的URL重写工具,它在Web开发中扮演着至关重要的角色。URL重写技术主要目的是优化网站的SEO(搜索引擎优化),提供用户友好的URL,以及实现动态网站的伪静态化...
3. **整合Web应用**:在Web应用的部署描述符(如web.xml)中配置UrlRewriter过滤器,确保在请求处理链中执行URL重写。 4. **测试和调试**:通过浏览器或工具发送请求,观察URL是否按预期重写,同时检查日志以排查...
UrlRewriter Java v2.0 RC1是一款基于Java实现的URL重写工具,主要用于优化网站的URL结构,提高搜索引擎友好性以及用户可读性。在互联网开发中,URL重写是一个重要的技术手段,它能够将复杂的动态URL转化为简洁、...
UrlRewriter Java v2.0 RC1 是一个基于 Java 的 URL 重写工具,旨在帮助开发人员实现灵活的 URL 重定向和重写功能。以下是该工具的主要实现描述: 核心功能实现: 使用 Java 编程语言实现了 URL 重写核心功能,...
`URLRewriter`是一款在IT行业中广泛应用的第三方组件,主要用于处理Web应用程序中的URL重写问题。URL重写是优化网站结构、提升用户体验和搜索引擎友好性的重要技术。它允许开发者根据预定义的规则,将不友好的、包含...
UrlRewriter Java v2.0 RC1 是一个用于Java Web应用程序的URL重写库,它主要功能是将用户友好的、搜索引擎优化(SEO)的URL转换为内部服务器可理解的实际请求格式。URL重写在现代Web开发中扮演着重要角色,因为它...
在Java Web开发中,URL重写是一个关键的概念,因为它能够: 1. **SEO友好**:通过将有意义的关键词融入URL,可以提高搜索引擎对网站内容的理解,从而提升排名。 2. **隐藏内部结构**:URL重写可以隐藏应用程序的...