`
newleague
  • 浏览: 1492206 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

urlrewrite使用小结

阅读更多

urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三:
一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

使用urlrewrite的步骤如下:

首页,访问其官网:http://tuckey.org/urlrewrite/,我下载的是最新的目前还处于Beta版的urlrewritefilter-3.2.0,下载后将其中的urlrewrite-3.2.0.jar扔到需使用此功能项目的lib目录中去
其次,在web.xml中加入如下配置:
<filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
     </init-param>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
其实,urlrewrite其实就是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向,具体的配置参数的使用方法见官方文档:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/index.html
配置好web.xml后将下载的urlrewritefilter-3.2.0中的urlrewrite.xml配置文件放在WEB-INF目录下,这样在使用urlrewritefilter时它便自动到该目录下读取相关的配置了,我配置了个简单的,代码如下:
<rule>
<from>/zh_CN/NewsInfo/NEWS_([0-9]+)</from>
<to>/zh_CN/NewsInfo/view.do?method=view&id=$1</to>
</rule>
   
<outbound-rule>
<from>/zh_CN/NewsInfo.do\?method=view&id=([0-9]+)$</from>
<to>/zh_CN/NewsInfo/NEWS_$1</to>
</outbound-rule>
rule结点中form的规则默认使用的是正则表达式来匹配的,当用户访问服务器时的URL会与该配置相比较,如果符合规则就会按照下面to结点中的配置对其进行跳转,其默认是forward跳转,具体配置可见官网文档。
outbound-rule结点是服务器解析后的页面URL对外表现的形式,配置与上面的大体相同,如我一新闻链接代码在JSP中书写的形式如下:

<c:url var="news_url" value="/zh_CN/Press/view.do?method=view&id=${cur.id}&msg=Press" />
<li>· <a href="${news_url}" mce_href="${news_url}" target="_blank" title="${cur.titleSub}">${cur.title}</a></li>

经服务器解析后,最终显示在页面中的将变成:

<li>· <a href="/项目名/zh_CN/NewsInfo/NEWS_9999" mce_href="项目名/zh_CN/NewsInfo/NEWS_9999" target="_blank" title="${cur.titleSub}">新闻标题</a></li>

当用户点击此链接后urlrewrite便用通过rule的配置重跳转到真正的访问地址,这样便很好的隐藏了真实地址
这其中有点是需要注意的,引用官网中的一段话:
Using the example above JSP's with the code
<a href="<%= response.encodeURL("/world.jsp?country=usa&amp;city=nyc") %>">nyc</a>
will output
<a href="/world/usa/nyc">nyc</a>

Or JSTL
<a href="<c:url value="/world.jsp?country=${country}&amp;city=${city}" />">nyc</a>
will output
<a href="/world/usa/nyc">nyc</a>
Note, If you are using JSTL (ie, <c:url) this will work also.
意思就是说需要转化的链接不能直接写在a标签中,需要写在c:url或其他服务器需要解析的变量中,这样才能对其重新显示

 

分享到:
评论

相关推荐

    urlrewrite技术研究总结成果

    在本研究总结中,我们将深入探讨URLRewrite的核心概念、使用场景以及配置方法,同时提供相关的学习资源,包括文档、代码示例、jar包、源代码和演示项目。 1. URL重写基础: URL重写技术的核心思想是通过HTTP请求的...

    UrlRewrite.rar

    总结来说,UrlRewrite作为一款强大的URL重写工具,为企业和开发者提供了便利,使得在IIS环境下实现URL优化变得更加简单。通过理解其工作原理和配置方法,我们可以灵活地调整网站的URL结构,以适应不断变化的业务需求...

    urlrewrite3.04的demo

    **URLRewrite 3.0.4:优雅的URL管理工具** 在Web开发中,URL的设计和管理对于网站的用户体验和搜索引擎优化(SEO)至关重要。`urlrewrite`是一款优秀的Java库,专门用于处理URL重写,它使得动态网站能够展现静态化...

    URLrewrite-实例

    在使用`URLrewrite`时,我们需要创建一个名为`urlrewrite.xml`的配置文件,其中定义了各种重写规则。例如,以下规则将所有以“/article”开头的请求重定向至“/content/article”: ```xml ^/article/(.*)$ &lt;to&gt;...

    URLRewrite URL重写组件

    **URLRewrite组件详解** URLRewrite是一款广泛应用于ASP.NET应用程序中的URL重写工具,它允许开发者通过修改HTTP请求的URL来实现各种功能,如优化SEO(搜索引擎优化)、隐藏内部结构、提供友好的URL以及实现负载...

    urlrewrite

    《深入理解URLRewrite:Java路径重写技术详解》 在Web开发中,URL重写是一种常见的技术,它能够帮助我们优化网站的URL结构,提高搜索引擎优化(SEO),以及实现更加友好的用户界面。本文将重点讲解Java环境下的URL...

    urlRewrite

    ### URL重写(UrlRewrite)技术详解 #### 一、引言 URL重写(UrlRewrite)是一种网络服务器功能,它允许开发者通过规则来转换客户端请求的URL,从而达到美化URL、增加安全性以及提高搜索引擎优化(SEO)的效果。在...

    使用urlrewrite实现视频文件的下载

    在IT行业中,URL重写是一种常见的技术,它允许我们通过改变URL的结构来实现不同的功能,比如美化URL、实现动态到静态...通过学习和掌握`urlrewrite`的使用,开发者可以更灵活地设计和调整网站的URL结构,提升用户体验。

    urlrewrite的简单搭建

    标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...

    urlrewrite.dll

    总结起来,"urlrewrite.dll"是实现URL重写的关键组件,它能够帮助Web开发者创建更加优化的URL结构,提升网站的用户体验和搜索引擎排名。同时,提供的压缩包中包含了一些辅助工具和不同系统版本的dll文件,便于用户...

    java urlrewrite解决默认页问题

    为了实现URL重写功能,我们需要在`web.xml`中配置URL Rewrite Filter,并在`urlrewrite.xml`中定义重写规则。 **1. `web.xml` 配置:** ```xml &lt;filter-name&gt;UrlRewriteFilter &lt;filter-class&gt;org.tuckey.web....

    利用UrlRewrite,asp.net动态生成htm页面

    UrlRewrite和ASP.NET的结合使用,可以极大地提升网站的用户体验和SEO性能。动态生成.htm页面,既保持了动态内容的优势,又提供了静态页面的外观。在实际开发中,可以根据项目需求定制各种复杂的重写规则,以实现更加...

    urlrewrite 4.0.3 jar包.rar

    总结起来,`URLRewrite 4.0.3`是一个强大的URL管理工具,它通过灵活的配置,可以帮助Java Web开发者优化URL结构,提高应用的可用性和安全性。理解并熟练运用其配置规则,将对Web应用的开发和维护带来极大的便利。

    urlrewrite 完整实例,可直接运行。支持多个参数传递

    总结,`URLRewrite`是一个强大的工具,可以帮助开发者创建更优雅、更易于管理的URL结构,并实现参数的灵活传递。通过对`urlrewrite.xml`配置文件的学习和实践,可以深入理解其工作原理,从而在实际项目中发挥更大的...

    iis URL Rewrite

    通过使用URL Rewrite,可以创建与网页内容更匹配的URL,从而提高搜索引擎的友好性。比如,将动态参数化的URL转换为静态、描述性的URL,可以提升网站在搜索引擎中的排名。 ### 四、错误页面处理 URL Rewrite模块还...

    ARRv3_0和URLRewrite2合集 IIS 反向代理专用

    总结来说,ARRv3.0和URLRewrite2是IIS中实现反向代理和URL管理的重要工具。通过合理利用这两个模块,管理员可以构建高效、稳定且易于维护的Web服务环境,同时优化用户体验和网站的搜索引擎可见性。

    IIS%2bWordPress利用UrlRewrite实现永久链接-Permanent-Links-的完美方案

    - `wordpressurlrewrite32.dll` / `wordpressurlrewrite64.dll`:分别为32位和64位系统使用的ISAPI筛选器DLL文件。 - `readme.txt`:说明文件,对于实际操作来说不是必需的。 #### 四、配置步骤 1. **安装ISAPI...

    利用UrlRewrite,asp.net动态生成htm页面 下载

    总结,利用UrlRewrite和ASP.NET,我们可以创建出更易读、更优化的URL,同时动态生成的htm页面可以提高网站性能,提升SEO效果。通过下载和研究提供的资源,开发者可以深入了解这一技术并将其应用到自己的项目中。

Global site tag (gtag.js) - Google Analytics