码迷,mamicode.com
首页 > Web开发 > 详细

UrlRewriter实现.NET的URL重写

时间:2015-04-11 22:35:01      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

首先下载安装MSDNURLRewriting.msi,链接地址http://pan.baidu.com/s/1c0pRnTu。

在安装目录下找到RewriterTester\bin\URLRewriter.dll添加引用到自己的项目。

更改配置文件web.config,在<configuration> </configuration>结点之内, <system.web> </system.web>节点之前,添加如下节点:

 <RewriterConfig>
    <Rules>
      <RewriterRule>       // 伪装的URL,可以将html更改成任意的,如:jsp,php,asp,aspx等
        <LookFor>~/news(.+).html</LookFor>        // 实际的URL,$1表示第1个正则表达式(.+)所表示的参数,以此类推,$n表示第n个正则表达式表示的参数
        <SendTo>~/WebForm1.aspx?id=$1</SendTo>      <RewriterRule> 
      </RewriterRule>
        <LookFor>~/new/(.+)/(.+).aspx</LookFor>
        <SendTo>~/WebForm1.aspx?id=$1&amp;keyword=$2</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>

在<system.web></system.web>节点之内添加:

 

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

 

 

 

前台的HTML代码可以写为:

<a href="/news11101.html">真实地址:WebForm1.aspx?id=11101</a>
<a href="/new/909990/abcd.aspx">真实地址:WebForm1.aspx?id=909990&keyword=abcd</a>
// 甚至可以写成这样:
<a href=‘/news<%#DataBinder.Eval(Container.DataItem,"ID") %>.html‘>真实地址:WebForm1.aspx?id=<%#DataBinder.Eval(Container.DataItem,"ID") %></a>
 
 

UrlRewriter实现.NET的URL重写

标签:

原文地址:http://www.cnblogs.com/ianunspace/p/4418563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!