`

UrlRewriter url重写

    博客分类:
  • jsp
 
阅读更多

 

如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点,这就需要你美化你的网页的地址,也就是我们常说的Url 重写技术,大家熟悉的可能有很多 服务器都提供Url 重写的技术,以前我们用的最多的就是ApacheJboss 这样一些服务器自带的一些Url 重写,但是他们的配置比较麻烦,性能又不 是太好,现在我们有专一的开源框架来完成Url 重写任务,今天我要介绍的就是UrlRewriter 。使用起来比较简单,配置是相当的简单明了。
    
我们先简单的了解一下使用Url 重写能给你网站带来哪些好处。
   
第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。
  
第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。
 
第三:隐藏技术的实现,我们可以通过Url 重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。
 
第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。
  
它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。
  
现在UrlRewriter 技术有两个技术平台的,一个就是在Java 方向的,另一个就是.NET 方向的。今天我们讲的是Java 方向的应用。
  
首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter ) ,看看源码你就会很快的明白,它就是通过我们在jsp 中常用的两个方法实现的forward(),sendRedirect().
  
下面我们就快速的为你的网站搭建Url 重写技术。
   
第一步:下载urlrewrite-2.6.0. 现在最新版本是3.1 的。(http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
http://urlrewritefilter.googlecode.com/files/urlrewritefilter-3.1.0.zip
urlrewrite-2.6.0.jar 拷到classpath 下。
  
第二步:在WEB-INF 目录下建一个urlrewrite.xml 文件。
  
第三步:在web.xml 中初始化。加上下面的代码:
   <!-- Set URL Rewrite-->
<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>
</filter-mapping>
   
最后我要简单的讲一下常用的两个配置规则. 以下就是简单的urlrewrite.xml 配置片段。不要习惯Java 的命名法把它写成urlRewrite.xml ,这样即使你加上
<init-param>
   <param-name>confPath</param-name>
   <param-value>/WEB-INF/urlRewrite.xml</param-value>
</init-param>
 
在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml )且只能放到WEB-INF 下面。
     <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
  <rule>
  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
  <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
</rule>
  <rule>
     <from>^/rss/yahoo\.html$</from>
       <to type="redirect">   http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed
      </to>
</rule>
</urlrewrite>
  
所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。
<rule>
  <from></from>
  <to type="forward></to>
</rule>
  <from></from>
写上你自己定义的访问地址,<to type="forward></to> 就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com /entity.htm?category=user&page=2. 而我们想把它重写为http://yousite.com/entity /uesr/page_2.html 。这样看起来比我们实际的要好看的多。我们就应该这样的写: 
<rule>
  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
  <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
</rule>
  
简单的介绍一下常用的正规表示式:
代码 说明
.
匹配除换行符以外的任意字符
\w
匹配字母或数字或下划线或汉字
\s
匹配任意的空白符
\d
匹配数字
\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束

常用的& 要用  &amp; 来表示。$1,$2 代表与你配置正规表达式/(\w+)/(\w+)/ 相对应的参数。<to type="forward"> 默认的是 type="forward".
 
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
<rule>
     <from>^/rss/yahoo\.html$</from>
       <to type="redirect">   http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
      </to>
</rule>

 

分享到:
评论

相关推荐

    Url重写示例(无后缀Url重写)

    在.NET环境中,UrlRewriter.dll是一个常用的URL重写库,由Ionics Software公司开发。这个库提供了一种方便的方式来实现自定义的URL重写规则,使得开发者可以轻松地将复杂的服务器端路径转换为用户友好的URL。 ...

    urlrewriter url重写

    静态页面转换静态页面转换静态页面转换静态页面转换

    用Intelligencia.UrlRewriter组件实现URL重写

    Intelligencia.UrlRewriter是一款强大的URL重写组件,它为.NET Framework提供了一个灵活且易于使用的解决方案。下面我们将深入探讨如何使用Intelligencia.UrlRewriter组件来实现URL重写。 首先,`Intelligencia....

    UrlRewriter.dll 实现URL重写

    UrlRewriter.dll实现URL重写 以及伪静态

    asp.net c# Url重写和无扩展名Url重写

    ASP.NET C# URL重写和无扩展名URL重写是两个关键的Web开发技术,用于改进网站的用户体验和搜索引擎优化(SEO)。它们涉及到对应用程序内部请求处理的方式,使得用户可以使用更加友好、易于记忆的URL,同时保持后端...

    URLRewriter重写url 组件 UrlRewriter.dll X86 X64通用

    URLRewriter是一个强大的URL重写组件,用于将不友好的、包含复杂参数的URL转换为更易读、更美观的格式。这个组件适用于各种环境,包括IIS(Internet Information Services)服务器,支持X86和X64架构,提供了一种...

    UrlRewriter .NET重写组件

    【UrlRewriter .NET重写组件】是一款针对.NET平台的URL重写工具,它能够帮助开发者在IIS6环境中实现网站URL的伪静态处理,从而提高网站的SEO友好性和用户体验。该组件的核心功能是将复杂的动态URL转换为简洁、易读的...

    URL重写(URLRewriter)

    `URLRewriter.dll`是由IIS Rewrite团队开发的一个URL重写库,它可以与IIS、ASP.NET等Web服务环境集成。该组件提供了丰富的规则定义机制,让开发者可以通过XML配置文件轻松设置URL重写规则。 3. 配置URL重写: 在...

    net用url重写URLReWriter实现任意二级域名

    标题与描述均提到了在.NET框架中利用URL重写(URL Rewriting)技术,通过URLReWriter组件实现任意二级域名的映射与处理。本文将深入解析这一技术的关键概念、实施步骤以及具体应用场景,旨在为.NET开发人员提供一个...

    UrlRewriter地址重写.NET源码.RAR

    《UrlRewriter:深入理解.NET中的URL重写技术》 URL重写是Web开发中一个重要的概念,它允许我们以更友好的、可SEO优化的形式来呈现网站的URL,同时在服务器端保持原有的处理逻辑。在.NET环境中,UrlRewriter库提供...

    URLRewriter(URL重写)测试代码

    在Web开发中,URL重写技术通常与Apache服务器上的mod_rewrite模块或者.NET框架中的ISAPI_Rewrite等组件关联。以下是对URLRewriter及其测试代码的详细解释: 1. **URL重写的基本概念**: - URL重写(URL Rewriting...

    URLRewriter asp.net重写url

    在ASP.NET中,URL重写通常用于将复杂的、参数化的URL转换为简洁的、有意义的URL,这有助于提升用户体验和搜索引擎排名。 URLRewriter的核心功能包括: 1. **规则定义**:URLRewriter通过XML配置文件或代码中定义的...

    asp.net url重写(URLRewriter)

    ASP.NET URL重写(URLRewriter)是一种技术,用于改变应用程序内部处理的URL,而对外显示的URL则保持用户友好的格式。这种技术在Web开发中广泛应用,因为它能提高用户体验,增强SEO(搜索引擎优化),以及简化网站...

    UrlRewriter.dll (Url重写)

    `UrlRewriter.dll`是实现这一功能的.NET Framework组件,它提供了一种方便的方式来配置和执行URL重写规则。 ### 1. URL重写的重要性 - **SEO优化**:通过提供有意义的、结构化的URL,可以提高搜索引擎对网站的理解...

    .net url重写dll下载 ActionlessForm.dll URLRewriter.dll

    本话题将重点介绍如何利用`URLRewriter.dll`和`ActionlessForm.dll`这两个DLL文件来实现URL重写。 `URLRewriter.dll`是一个基于.NET的开源URL重写库,由UriBuilder项目提供,其核心功能是解析和转换HTTP请求的URL,...

    UrlRewritingNet.UrlRewriter.dll 伪静态URL重写

    《UrlRewritingNet.UrlRewriter.dll:掌握伪静态URL重写的精髓》 在Web开发中,优化用户体验和搜索引擎优化(SEO)是至关重要的。一个清晰、简洁且易于理解的URL对于用户来说更具吸引力,同时也能提高网站在搜索...

    URL重写(URLRewriter.dll)

    微软的URLRewriter.dll是一个基于.NET Framework的URL重写库,它提供了一种简单的方式来实现复杂的URL重写规则,使得原本可能包含复杂参数的动态URL可以转换为更友好的、静态化的URL形式。 URLRewriter.dll的核心...

    url重写Intelligencia.UrlRewriter.dll

    标题中的“url重写Intelligencia.UrlRewriter.dll”指的是使用Intelligencia公司开发的UrlRewriter库来实现ASP.NET应用程序中的URL重写功能。URL重写是一种优化网站技术,它允许开发者隐藏实际的URL结构,提供更友好...

    URL重写(UrlRewriter)+ 微软官方网DLL

    URL重写(UrlRewriter)是ASP.NET应用中一个重要的技术,主要用于优化网站的URL结构,使其更加用户友好和搜索引擎优化。微软官方提供了相应的DLL文件支持这一功能,使得开发者能够轻松地在自己的应用程序中实现URL...

Global site tag (gtag.js) - Google Analytics