上午开发小组开常规的开发进度会议,在讨论使用urlrewriter在项目中担任URL重写的时候有点争议,我坚持使用urlrewriter重写URL需要配合JSTL标签中的c:url一起使用,才能真正达到重写所有页面上的URL的目的,一个同事说可以不需要使用这个标签也可以达到重写的目的,为了解决这个争议,决定写一个DEMO来进行验证我的说法。首先新建一个项目,导入必要的依赖。
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>3.1.0</version>
</dependency>
在WEB.XML中进行过滤器的配置
<filter>
<filter-name>rewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlrewrite.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>rewriteFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>rewriteFilter</filter-name>
<url-pattern>*.html</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
在WEB-INF下新建一个urlrewrite.xml文件[color=red][/color]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
"http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite>
<rule>
<from>/index.html$</from>
<to>/index.jsp</to>
</rule>
<outbound-rule>
<from>/index.jsp</from>
<to>/index.html</to>
</outbound-rule>
</urlrewrite>
这个主要是测试用的,现在在根目录下新建一个index.jsp页面。代码如下
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
<a href="index.jsp">无标签的URL输出首页地址</a>
<br/>
<br/>
<br/>
<br/>
<a href="<c:url value='/index.jsp' />">有标签的URL输出首页地址</a>
</body>
</html>
启动容器,输入项目路径 http://localhost:8080/index.html,输出如下HTML代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
<a href="index.jsp">无标签的URL输出首页地址</a>
<br/>
<br/>
<br/>
<br/>
<a href="/index.html;jsessionid=62408E24FEA0F75AFB9B0CACA9314006">有标签的URL输出首页地址</a>
</body>
</html>
综上所述,urlrewriter如果要重写成功,要把需要重写的URL用标签输出,直接输出URL是不会重写URL的!
分享到:
相关推荐
创建规则时,可以使用正则表达式来匹配URL。例如,如果你想把所有以“/product.aspx?id=”开头的URL重写为“/product/”,你可以写一个这样的规则: ```xml ^product\.aspx\?id=([0-9]+)$" /> ``` 在这个规则...
本文将深入探讨URLRewriter的工作原理、使用方法以及相关知识点。 URLRewriter的核心概念是通过正则表达式匹配和替换规则来改变请求的URL,使得用户可以访问更友好的、更具描述性的URL,同时服务器端可以处理实际的...
当客户端发起一个HTTP请求时,`URLRewriter`会在服务器端拦截这个请求,解析请求的URL,然后根据预先设定的规则进行匹配和转换。如果匹配成功,它会改变请求的实际目标,然后再继续执行后续的处理步骤。这个过程对...
3. URLRewriter与IIS的URL重写模块有类似功能,但它们并不冲突,可以根据项目需求选择使用。 总之,URLRewriter是提升网站专业性和优化SEO的重要工具,其核心组件URLRewriter.dll通过灵活的配置,帮助开发者构建...
当客户端请求一个特定的URL时,UrlReWriter会检查这个URL是否匹配任何重写规则。如果匹配,它会将URL转换为实际的服务器路径,然后再继续处理请求。 2. **主要功能**: - **URL美化**:将复杂的动态URL转换为简洁...
四、UrlRewriter的使用场景 1. SEO优化:友好的URL可以提升搜索引擎对网站的评分,从而提高搜索排名。 2. 隐藏实际路径:对于动态内容,可以隐藏实际的参数,增加安全性。 3. 旧URL迁移:在网站改版时,可以通过...
第一种方法需引用UrlRewriter.dll,请参考Web1.config部署 第二种方法需引用Intelligencia.UrlRewriter.dll,请参考Web.config部署 Bin文件夹里面有三个dll,需添加引用,其中特别说明的是UrlRewriter.dll,这个dll在...
使用UrlRewriter .NET组件时,你需要了解以下几个关键知识点: 1. **配置规则**:UrlRewriter .NET的配置主要通过在Web.config文件中添加`<rewrite>`或`<rules>`元素来实现。每个规则包含一个`<rule>`元素,其中的`...
URLReWriter,.net里的url重写
3. **处理请求**:当用户访问伪静态URL时,UrlRewriter会捕获请求,根据配置的规则将URL转换为动态URL,然后将请求转发给对应的处理程序(如ASP.NET的Page)。 4. **返回响应**:服务器处理动态请求并生成响应后,...
配置URLRewriter规则时,需要注意以下几点: 1. **定义规则**:每个重写规则由一个`<rewrite>`元素表示,包含`from`和`to`属性,分别定义源URL模式和目标URL模式。`from`通常使用正则表达式来匹配URL,`to`定义了...
**开始使用URLRewriter** "rewrite_beginner_src.rar"可能包含入门示例,这些示例展示了如何设置基础的URL重写规则。首先,你需要引入URLRewriter库,如IISUrlRewrite或HttpModules.UrlRewriter。然后,在Web.config...
本资源经过测试,并在本机测试通过,主要是针对IIS7的配置,里面有详细说明。
UrlRewriter - a rule-based URL Rewriter for .NET. 1. Open your web project, or create a new one. 2. Add a reference to the Intelligencia.UrlRewriter assembly. 3. Open the web.config file. 4. Add ...
URL重写是Web开发中的一个重要概念,主要用于优化网站的URL结构,提高用户体验,以及更好地适应搜索引擎优化(SEO)的需求。...通过理解和掌握URLRewriter的使用,你可以更好地控制和改进你的Web应用程序的URL结构。
使用时需要注意,URL重写可能会影响现有的链接,因此在实施前应备份原有URL结构,并确保更新所有内部链接以指向新的URL。此外,测试是必不可少的环节,要确保所有功能在重写后仍能正常工作。 总之,URLRewriter.dll...
在本文中,我们将深入探讨URL重写的基本原理、其在Web开发中的重要性以及如何使用UrlRewriter2_51进行实际操作。 一、URL重写基础 URL(统一资源定位符)是互联网上资源的唯一标识,但原始的URL结构往往过于复杂,...
- **编程接口**:对于更复杂的重写需求,可以直接使用UrlRewriter提供的API来编程实现。 **5. 示例** 例如,一条简单的规则可能如下: ```xml ^product/([0-9]+)" /> ``` 这个规则会将`/product/123`...