URLRewriter组件及源码

微软推出的一款重写url的一个组件,以及组件源代码。

可以实现 网站的地址重写,通常用于网址的伪静态化。可以让网站更好的被搜索引擎收录。

用法如下:

原理:当iis接收到请求之后,判断请求页面的后缀名,然后通过iis配置中的映射中设置的,

哪种后缀的文件是由哪个处理程序处理的规则交由相应的程序来处理该请求完成操作。

我们要实现的功能就是当客户访问一个静态网址(.html)的时候,而实际访问的是一个(.aspx)的动态地址。

所以我们要在iis里设置映射:让 .html 的文件交由 .net 的处理程序(即 aspnet_isapi.dll)来处理。 

注意:设置时,要把“确认文件是否存在”的勾去掉,因为我们的静态页面不是真正存在的。

设置完之后,我们就开始执行下边的步骤:

首先通过文章最后的连接下载该组件。

解压文件,把URLRewriter.dll复制到您的网站的bin目录下。

在web.config添加如下配置节:

<httpHandlers>
   <add verb="*" path="*.aspx"
        type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>

然后按照如下格式,在wen.config中写入要重写的url的规则:

<RewriterConfig>
   <Rules>
     <RewriterRule>
            <LookFor>~/Products/Default/.aspx</LookFor>
            <SendTo>~/ListCategories.aspx</SendTo>
      </RewriterRule>
      <RewriterRule>
         <LookFor>~/Products/Beverages_(/d{1,4})/.aspx</LookFor>
         <SendTo>~/ListProductsByCategory.aspx?CategoryID=$1</SendTo>
      </RewriterRule>
      <RewriterRule>
   </Rules>
</RewriterConfig>

上例中得表达式一个是不带参数的重写,一个是带参数的,

带参数的~/Products/Beverages_(/d{1,4})/.aspx中 _(/d{1,4}) 是规则表达式,只要符合这个规则的网页,

会转发到下边的~/ListProductsByCategory.aspx?CategoryID=$1

这个网址其中,$1会接收到 (/d{1,4}) 规则表达式相对应的参数的具体值。从而达到转发的目的。

好了,今天大概就写到这里,以后有时间再补充,希望对大家有帮助。

不明白的可以随时给我发邮件。

URLRewriter组件及源码下载地址:http://download.csdn.net/source/349102

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值