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("找不到该网页");
}
%>
分享到:
相关推荐
3. 示例代码文件:展示了如何在C#中实现URL重写逻辑,可能包括创建路由规则、定义路由约束等。 4. 说明文档或者示例页面:解释了如何使用这些源码以及可能遇到的问题。 为了实现URL重写和无扩展名URL重写,你需要做...
在IT行业中,URL重写是一项重要的技术,尤其是在Web开发领域,它可以帮助我们创建更美观、更易读且更友好的URL。C#是.NET框架下的主要...在实际开发中,我们需要根据项目需求和现有架构选择合适的方法来实现URL重写。
总结起来,Java Web实现URL重写是通过拦截请求、修改请求URI、利用框架特性或者使用第三方库等方式,将复杂的请求URL转换为更加简洁、易读的形式。这不仅提高了用户体验,也有助于提升网站的SEO效果。在实际项目中,...
在VS2005中,可以使用第三方库,例如Microsoft URL Rewrite Module或Helicon Ape,它们提供了易于配置的规则来实现URL重写。首先,需要安装相应的模块,并在IIS中配置相应的重写规则。然后,在Web.config文件中添加...
这个库提供了一种方便的方式来实现自定义的URL重写规则,使得开发者可以轻松地将复杂的服务器端路径转换为用户友好的URL。 UrlRewriter.dll的工作原理是基于HTTP模块,它监听HTTP请求并在请求被处理之前进行拦截。...
标题中的".net实现url重写"是指在.NET框架下,通过编程技术实现URL重写功能。URL重写是Web开发中的一个重要技术,它允许我们改变实际的URL结构,以达到优化SEO(搜索引擎优化)、提高用户体验或者隐藏真实路径等目的...
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重写
这是本人博客上《用自定义IHttpModule实现URL重写》一文的示例代码,如果有未尽之处或者不明白之处请到本人博客上查看,网址是:http://blog.csdn.net/zhoufoxcn/archive/2009/07/14/4346356.aspx
**实现URL重写的方法:** 1. **服务器配置**:大多数Web服务器(如Apache、IIS)都支持URL重写模块,通过配置规则文件(如Apache的`.htaccess`或IIS的`web.config`)来实现URL转换。 2. **框架内置支持**:许多Web...
3. **ASP.NET MVC**:在ASP.NET MVC框架中,路由系统可以自动实现URL重写,无需额外配置。 ```csharp routes.MapRoute( "Article", "article/{id}", new { controller = "Home", action = "Article", id = Url...
UrlRewriter.dll实现URL重写 以及伪静态
除了使用专门的URL重写工具外,还可以利用ASP.NET框架本身提供的功能来实现URL重写。这种方式更加灵活,可以根据具体需求自定义重写规则。 - **Actionless form**:创建一个不执行任何操作的表单(Actionless form...
总的来说,Struts2通过集成URLRewriteFilter,提供了一种简单且灵活的方式来实现URL重写,从而提高应用程序的用户体验和SEO友好性。在实际开发中,我们需要根据项目的需求来定制URL重写规则,确保URL既能符合设计...
UrlWriter是一种用于实现URL重写的工具,它在Web开发中起着至关重要的作用,尤其是在优化网站的搜索引擎友好性(SEO)和提供用户友好的网址结构方面。URL重写技术允许我们将复杂的服务器端请求路径转换为简洁、易于...
下面我们将深入探讨如何使用Intelligencia.UrlRewriter组件来实现URL重写。 首先,`Intelligencia.UrlRewriter.dll`是这个组件的核心库文件,它包含了处理URL重写的类和方法。在项目中引用这个dll,我们就可以在...
标题 "URL 重写类 url class" 涉及的核心技术是 URL 重写,这是一种优化网站 URL 结构,使其更美观、更易读的方法。在网页开发中,URL 重写通常用于实现 SEO(搜索引擎优化)友好和用户友好的网址。通过 URL 重写,...
微软提供了多种工具和技术来实现URL重写,其中一个常见的方法是通过使用HttpModule。本篇文章将深入探讨URL重写的基本概念,以及如何在微软环境中利用HttpModule进行URL重写。 首先,了解URL(统一资源定位符)重写...
3. JavaScript路由:在前端开发中,单页应用(SPA)常用JavaScript路由来实现URL重写。 五、URL重写实例 例如,我们有一个动态生成的页面,原始URL可能是`example.com/index.php?id=123`,通过URL重写,可以将它...
- **UrlRewriteFilter**:这是一个基于Java的开源过滤器,常用于Spring MVC等Java Web应用中,通过web.xml配置实现URL重写。 **4. 使用UrlRewriteFilter** UrlRewriteFilter是Tuckey开发的非侵入式的URL重写工具...