`

使用URL Rewrite实现网站伪静态

    博客分类:
  • java
阅读更多


大部分搜索引擎都会优先考虑收录静态的HTML页面,而不是动态的*.jsp,*.php页面。但实际上绝大部分网站都是动态的,不可能全部是静态的HTML
因此大部分网站都会采用伪静态----就是将*.jsp,*.php这种动态URL伪装成静态的HTML页面。

实现伪静态:可以通过Filter拦截所有发向*.html请求,然后按某种规则将请求forward到实际的*.jsp,而URL Rewrite开源项目便提供
了这种实现

1、下载urlrewritefilter-4.0.3.jar,下载连接:http://www.tuckey.org/urlrewrite/  附件中也提供下载
2、在web.xml文件中配置启用URL Rewrite Filter

<!-- 配置URL Rewrite的Filter拦截的所有请求 -->
	<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>
		<dispatcher>REQUEST</dispatcher>
                                <dispatcher>FORWARD</dispatcher>
	</filter-mapping>

 上面的片段指定使用URL Rewrite Filter拦截所有的用户请求

3、在应用的WEB-INF路径下增加urlrewrite.xml文件。该文件定义了伪静态映射规则,这份伪静态规则是基于正则表达式的

<?xml version="1.0" encoding="utf-8"?>

    <!DOCTYPE urlrewrite
        PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite3.2.dtd">

    <urlrewrite>

        <rule>
           <from>/userinf-(\w*).html</from>
           <to type="forward">/userinf.jsp?username=$1</to>
        </rule>

    </urlrewrite>

 

上面的规则文件意思是:所有发向/userinf-(\w*).html的请求都将被forward到userinf.jsp页面,并将(\w*)正则表达式所匹配的内容作为username参数值。

 

userinf.jsp页面:

 

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%
String user = request.getParameter("username");
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=user %>的个人信息</title>
</head>
<body>
<%
out.println("现在的时间是:"+new Date());
out.println("用户名:"+user);
%>
</body>
</html>

 

 

完成以上代码后,输入http://localhost:8080/urlrewrite/userinf-aniyo.html访问 

注意,端口和项目名改成自己项目对应的

 

分享到:
评论

相关推荐

    UrlRewrite实现伪静态

    在本文中,我们将深入探讨如何使用UrlRewrite来实现伪静态,并了解其配置过程。 1. **什么是URL重写**: URL重写是指将动态URL转换为静态或者看似静态的URL,以提升网站的可读性和美观性。动态URL通常包含多个参数...

    用urlrewrite实现实现伪静态的例子

    在本例子中,我们将探讨如何使用URLRewrite模块来为ASP.NET网站实现实现伪静态。 首先,我们需要理解为什么需要伪静态。静态网页易于被搜索引擎抓取,而动态网页往往因为参数过多、变化频繁而不利于爬虫。因此,将...

    URLRewrite.dll 伪静态

    要使用URLRewrite.dll实现伪静态,你需要进行以下步骤: 1. **安装URLRewrite模块**:首先确保你的IIS服务器已经安装了URLRewrite模块,如果没有,可以通过Web Platform Installer进行安装。 2. **配置rewrite规则*...

    java urlrewrite 实现伪静态化 demo源码

    Java URLRewrite是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...

    使用URL Rewrite实现网站的伪静态实例(urlrewritefilter-4.0.3)

    通过上述步骤,我们可以使用`UrlRewriteFilter 4.0.3`轻松实现网站的伪静态。这种技术不仅能够提高网站的可读性和美观性,还能对SEO产生积极影响,让搜索引擎更好地抓取和理解网页内容。同时,通过灵活的规则配置,...

    asp net UrlReWrite Url重写或伪静态 完美示例源码

    在ASP.NET中,`UrlRewrite`模块同样可以用于实现伪静态。例如,可以设置规则将`/product.aspx?id=123`转换为`/product/123.html`。这样做不仅可以优化SEO,还可以避免用户看到带有`.aspx`扩展名的URL,提升用户体验...

    UrlReWrite(Url重写或伪静态)完美示例源码

    描 述:UrlReWrite(Url重写或伪静态)完美示例源码 UrlReWrite(Url重写或伪静态)完美示例源码,已利用ActionlessForm解决原始地址form回传的问题 例如:/products.aspx?category=books 转换为/products/Books....

    urlrewrite重写URL伪静态请求路径.

    标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...

    urlrewrite2伪静态与使用文档(IIS)

    标题“urlrewrite2伪静态与使用文档(IIS)”涉及到的是在IIS(Internet Information Services)服务器环境中,使用urlrewrite2模块实现URL重写和伪静态功能的技术内容。URL重写是Web开发中的一项关键技术,它允许...

    Url Rewrite伪静态组件64位

    `Url Rewrite伪静态组件`是Microsoft为IIS(Internet Information Services)提供的一款强大工具,用于实现这种功能。本文将深入探讨这个组件的原理、安装与配置过程,以及其在实际应用中的重要性。 首先,让我们...

    UrlReWrite(Url重写或伪静态)

    UrlRewrite是一个强大的URL管理工具,它主要用于将复杂的URL转换为简单、易记且友好的形式,这个过程被称为URL重写或伪静态处理。在Web开发中,URL重写技术对于提升用户体验、优化搜索引擎排名(SEO)以及维护网站...

    php-rewrite网站伪静态测试文件

    "php-rewrite网站伪静态测试文件"是确保网站能正确使用URL重写技术的关键步骤。通过这样的测试,开发者可以验证服务器环境是否支持伪静态,从而提供更好的用户体验和SEO效果。正确配置和使用伪静态对于现代Web应用...

    Discuz! X2 配置URL伪静态Rewrite规则

    Discuz! X2 配置URL伪静态Rewrite规则,里面详细讲解了apache服务器下 Discuz! X2 配置URL伪静态Rewrite规则和IIS下得Discuz! X2 配置URL伪静态Rewrite规则

    网站重写url伪静态工具

    ISAPI_Rewrite,ISAPI_Rewrite用来实现伪静态,将动态网页通过重写URL的方法实现去掉动态网页的参数!它的行为是像Apache的mod_Rewrite ,但专为微软的Internet信息服务( IIS )。 IIS配置相当简单,配置好之后就有...

    Url Rewrite 实现jsp页面伪静态化_凌风_.doc

    这个工具的主要目的是实现URL的伪静态化,提高网站的搜索引擎优化(SEO)效果,并且能够自动转换页面内的链接,使得程序员在编写代码时无需考虑URL的具体格式。 **主要功能** 1. **URL伪静态化**:Url Rewrite ...

    ASP.NET的UrlRewrite URL重写伪静态实例

    实际上,很多情况下,这种现象是由**URL重写技术**实现的,也就是所谓的**伪静态技术**。 #### 二、静态与动态网页的区别 在讨论URL重写之前,我们先来了解一下静态和动态网页的区别及其优缺点: - **静态网页**:...

    Url Rewrite Filter实现页面伪静态化,简单实例及步骤

    ### Url Rewrite Filter 实现页面伪静态化:详细步骤与实例解析 #### 一、引言 在现代Web开发中,为了提升用户体验、提高搜索引擎友好度以及优化网站结构,页面伪静态化成为了一种常见的技术手段。本文将详细介绍...

    伪静态 urlrewrite

    在Java Web开发中,"伪静态 URLRewrite"是一个重要的技术概念,主要用于优化网站的URL结构,使其看起来更像静态页面,从而提升用户体验和搜索引擎优化(SEO)。`URLRewrite`是一个基于Apache开源项目Tuckey开发的...

    jsp实现URL伪静态.rar

    使用URL重写技术,如Apache的mod_rewrite模块或Tomcat的Context配置,可以将动态请求转换成伪静态形式。在JSP中,我们可能需要结合服务器的配置来实现这一过程。 5. **隐藏Servlet路径** 为了使URL看起来更像静态...

Global site tag (gtag.js) - Google Analytics