地址重写Url Rewrite Filter的使用

本文详细介绍了URL重写的原理、优势以及如何在项目中引入并配置UrlRewriteFilter来实现URL重写,包括安全性提升、美化URL、增强搜索引擎收录效果等方面的应用,并通过实例展示了URL重写前后的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

就项目下线,新项目的地址和就项目不同,为了是之前的url能指向新的URL,使用Url Rewrite Filter进行了处理。

 

 

UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。
  一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多  

二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL  

三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

 

1、首先,在项目中引入jar包:urlrewrite.jar 最新版本是4.0.3

2、在web.xml中加入filter(需放在struts的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>

dispatcher可忽略

3、UrlRewriteFilter默认去/WEB-INF目录下读取urlrewrite.xml

因此,在/WEB-INF新建urlrewrite.xml(注意全部小写)

 

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">

<urlrewrite>

    <rule>
        <from>^/page/(.*)$</from>
        <to type="redirect">/page/$1.action</to>
    </rule>

</urlrewrite>

 

这样我访问的:http://localhost:8080/page/test

则跳转到:      http://localhost:8080/page/test.jsp

----具体规则见:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/index.html

 

这样使用urlrewrite可以很好的隐藏真实地址,也可以实现新旧链接的转换。

 

urlrewrite网站:http://tuckey.org/urlrewrite/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值