Urlrewrite地址重写

本文详细介绍了URL重写技术的主要优点,包括提升安全性、美化URL和优化搜索引擎收录。阐述了其在动态地址伪静态化中的应用,并提供了配置步骤,如引入urlrewrite.jar、配置web.xml及urlrewrite.xml文件。

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

版权声明:本文为博主原创文章,未经博主允许不得转载。
UrlRewrite地址重写后,用户得到的全部都是经过处理后的URL地址。
一、它的主要优点
1.1、提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多。
1.2、美化URL,去除了那些比如*.do、*action之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL。
1.3、更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息。
二、UrlRewrite使用范围
地址重写一般是用于将动态地址伪静态,如果已经是静态页面路径那就没有必要用此技术了。
三、 使用方法
3.1、下载并引用urlrewrite.jar,如果是maven管理jar的话可直接 拷贝如下代码:

 <dependency>
       <groupId>org.tuckey</groupId>
       <artifactId>urlrewritefilter</artifactId>
       <version>4.0.3</version>
 </dependency>

3.2、配置web.xml文件,即在web.xml文件中添加如下代码:

  <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>confReloadCheckInterval</param-name>
            <param-value>60</param-value>
        </init-param>
        <!--自定义配置文件的路径,是相对context的路径,(默认位置 /WEB-INF/urlrewrite.xml) -->
        <init-param>
            <param-name>confPath</param-name>
            <param-value>/WEB-INF/urlrewrite.xml</param-value>
        </init-param>
        
   <!--设置日志级别(将被记录到日志中) 可以为: TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL, log4j, commons, slf4j,比如 sysout:DEBUG(设置到控制台调试输出级别) (默认级别 WARN) -->
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>DEBUG</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

3.3 、配置urlrewrite.xml文件 ,具体的配置方法如下所示

<urlrewrite>
    <rule>
        <from>/login.html</from>  
        <to>/loginController.do?login</to> 
    </rule>
</urlrewrite>

其中from是Urlrewrite地址重写后的路径,to是实际访问路径。如果想以参数为伪静态页面的名称的话,则可以通过以下配置

<rule>
        <from>^/login/(.*).html</from>
        <to>/loginController.do?login&amp;parameter=$1</to> 
</rule>

如果parameter的值为user001的话,那么重写后的路径则为/login/user001.html。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值