`
pluto418
  • 浏览: 169478 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

三种方法实现URL重写

    博客分类:
  • J2EE
阅读更多
URL重写,就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页

举例
/product.jsp?id=1001
/product.jsp?id=1002
/product.jsp?id=1003

重写后,可以用
/product/1001.html
/product/1002.html
/product/1003.html


一、过滤器 用 urlReweite的类库

修改web.xml增加过滤器,然后配置个过滤规则

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>


过滤规则 urlrewrite.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
  <rule>
  <from>/poduct/(\d+).html$</from>
  <to>/product.jsp?id=$1</to>
 </rule>
</urlrewrite>


二、使用Apache
# 去掉这个前面的#,启用它
LoadModule rewrite_module modules/mod_rewrite.so

<VirtualHost _default_:80>
# 其它的配置数据

RewriteEngine On
# 下面三行实现动态解析
RewriteRule ^/product/(\d+).html$ /product.jsp?id=$1 [L,PT]
</VirtualHost>

三、使用404页面跳转

web.xml修改部分

<error-page>
	<error-code>404</error-code>
	<location>/404.jsp</location>
</error-page>


404.jsp 内容

<%@ page language="java" contentType="text/html; charset=UTF-8" isErrorPage="true"%>
<%
	response.setStatus(HttpServletResponse.SC_OK);
	String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");
	try {
		if (key != null) {
			int index = key.lastIndexOf("/");
			if (index != -1) {
				key = key.substring(index + 1);
				if (key.endsWith(".html")) {			
					long id = Long.parseLong(key.substring(0, index-4));
					String url = "product.jsp?productid=" + id;
					out.println(url);
					request.getRequestDispatcher(url).forward(request, response);
				}
			}
		}
	}
	catch(Exception e) {
		out.println("找不到该网页");
	}
%>
分享到:
评论

相关推荐

    asp.net c# Url重写和无扩展名Url重写

    3. 示例代码文件:展示了如何在C#中实现URL重写逻辑,可能包括创建路由规则、定义路由约束等。 4. 说明文档或者示例页面:解释了如何使用这些源码以及可能遇到的问题。 为了实现URL重写和无扩展名URL重写,你需要做...

    C# url重写 C# url重写

    在IT行业中,URL重写是一项重要的技术,尤其是在Web开发领域,它可以帮助我们创建更美观、更易读且更友好的URL。C#是.NET框架下的主要...在实际开发中,我们需要根据项目需求和现有架构选择合适的方法来实现URL重写。

    Java WEB实现URL重写

    总结起来,Java Web实现URL重写是通过拦截请求、修改请求URI、利用框架特性或者使用第三方库等方式,将复杂的请求URL转换为更加简洁、易读的形式。这不仅提高了用户体验,也有助于提升网站的SEO效果。在实际项目中,...

    vs2005url重写

    在VS2005中,可以使用第三方库,例如Microsoft URL Rewrite Module或Helicon Ape,它们提供了易于配置的规则来实现URL重写。首先,需要安装相应的模块,并在IIS中配置相应的重写规则。然后,在Web.config文件中添加...

    Url重写示例(无后缀Url重写)

    这个库提供了一种方便的方式来实现自定义的URL重写规则,使得开发者可以轻松地将复杂的服务器端路径转换为用户友好的URL。 UrlRewriter.dll的工作原理是基于HTTP模块,它监听HTTP请求并在请求被处理之前进行拦截。...

    .net实现url重写

    标题中的".net实现url重写"是指在.NET框架下,通过编程技术实现URL重写功能。URL重写是Web开发中的一个重要技术,它允许我们改变实际的URL结构,以达到优化SEO(搜索引擎优化)、提高用户体验或者隐藏真实路径等目的...

    java中的url重写

    UrlRewrite Filter 是一个基于 Java 的开源项目,它提供了一种灵活的方式来实现 URL 重写。它使用 Filter 来完成 URL 重写工作,从而不依赖于 WEB 服务器组件。使用 UrlRewrite Filter,可以根据需要定义不同的重写...

    用ASP.NET实现URL重写

    用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写

    自定义IHttpModule实现URL重写示例代码

    这是本人博客上《用自定义IHttpModule实现URL重写》一文的示例代码,如果有未尽之处或者不明白之处请到本人博客上查看,网址是:http://blog.csdn.net/zhoufoxcn/archive/2009/07/14/4346356.aspx

    URL重写的一个例子

    **实现URL重写的方法:** 1. **服务器配置**:大多数Web服务器(如Apache、IIS)都支持URL重写模块,通过配置规则文件(如Apache的`.htaccess`或IIS的`web.config`)来实现URL转换。 2. **框架内置支持**:许多Web...

    URL重写实现

    3. **ASP.NET MVC**:在ASP.NET MVC框架中,路由系统可以自动实现URL重写,无需额外配置。 ```csharp routes.MapRoute( "Article", "article/{id}", new { controller = "Home", action = "Article", id = Url...

    UrlRewriter.dll 实现URL重写

    UrlRewriter.dll实现URL重写 以及伪静态

    url重写的方法~很详细

    除了使用专门的URL重写工具外,还可以利用ASP.NET框架本身提供的功能来实现URL重写。这种方式更加灵活,可以根据具体需求自定义重写规则。 - **Actionless form**:创建一个不执行任何操作的表单(Actionless form...

    struts2中实现URL重写

    总的来说,Struts2通过集成URLRewriteFilter,提供了一种简单且灵活的方式来实现URL重写,从而提高应用程序的用户体验和SEO友好性。在实际开发中,我们需要根据项目的需求来定制URL重写规则,确保URL既能符合设计...

    UrlWriter实现url重写的一个实例

    UrlWriter是一种用于实现URL重写的工具,它在Web开发中起着至关重要的作用,尤其是在优化网站的搜索引擎友好性(SEO)和提供用户友好的网址结构方面。URL重写技术允许我们将复杂的服务器端请求路径转换为简洁、易于...

    用Intelligencia.UrlRewriter组件实现URL重写

    下面我们将深入探讨如何使用Intelligencia.UrlRewriter组件来实现URL重写。 首先,`Intelligencia.UrlRewriter.dll`是这个组件的核心库文件,它包含了处理URL重写的类和方法。在项目中引用这个dll,我们就可以在...

    URL 重写类 url class

    标题 "URL 重写类 url class" 涉及的核心技术是 URL 重写,这是一种优化网站 URL 结构,使其更美观、更易读的方法。在网页开发中,URL 重写通常用于实现 SEO(搜索引擎优化)友好和用户友好的网址。通过 URL 重写,...

    微软URL重写文件

    微软提供了多种工具和技术来实现URL重写,其中一个常见的方法是通过使用HttpModule。本篇文章将深入探讨URL重写的基本概念,以及如何在微软环境中利用HttpModule进行URL重写。 首先,了解URL(统一资源定位符)重写...

    URL重写URL重写

    3. JavaScript路由:在前端开发中,单页应用(SPA)常用JavaScript路由来实现URL重写。 五、URL重写实例 例如,我们有一个动态生成的页面,原始URL可能是`example.com/index.php?id=123`,通过URL重写,可以将它...

    urlrewrite url地址重写

    - **UrlRewriteFilter**:这是一个基于Java的开源过滤器,常用于Spring MVC等Java Web应用中,通过web.xml配置实现URL重写。 **4. 使用UrlRewriteFilter** UrlRewriteFilter是Tuckey开发的非侵入式的URL重写工具...

Global site tag (gtag.js) - Google Analytics