asp.net Url重写学习

本文介绍了两种ASP.NET中的URL重写方法:一是利用Context.RewritePath()方法通过编程方式实现;二是通过配置web.config文件并使用URLRewriting.Net模块进行重写。这两种方法都可用于简化URL结构,提升用户体验。
摘要由CSDN通过智能技术生成

1.通过RewritePath实现重写

     URL重写可以通过编程的方式来实现。ASP.NET中的Contex.RewritePath()方法可以让你从程序中实现重写请求的URL。一旦重写后,系统将使用新的路径来继续执行这个请求。 
    在Global.asax文件的Application_BeginRequest()方法中,你需要增加代码来阅读进来的路径,然后根据一个或多个URL重写规则来成需要进一步处理的路径。下面的例子执行以下URL重写规则:

 

 

输入的url:"/URLRewriting/OldUrl.aspx  真实访问的url:"/URLRewriting/NewUrl.aspx"

 

输入的url:"/URLRewriting/UserAccount/{UserId}.aspx  真实访问的url:"/URLRewriting/UserAccount.aspx?id={UserID}

 

 

 

使用Contex.RewritePath()实现URL重写:

  

在这个例子中,每次一个新的请求被处理的时候,它将首先查看这个Application_BeginRequest()。通过使用Request.Url属性来获得输入的URL路径,然后通过正则表达式来应用网站URL重写规则,匹配到期望的输入网址后,将它们重写成你希望转向的网址。

当重写规则比较简单且规模比较小的时候,使用Context.RewritePath() 方法以编程的方式重写URL效果比较不错,但是一些大型网站通常有非常多的URL重写规则。手工方式对所有这些重写规则进行编程可能是一件麻烦且容易出错的方法。

    一个更好的解决方法是从web.config文件中使用一个HttpModule(http模块)来动态的处理URL重写规则。更令人高兴的是,你无需自己动手来编写HttpModule来处理这些任务,已经有几个非常不错的免费版供你使用。以下是其中几个:URLRewriting.Net ,URLRewriter.Net ,Rewrite.Net 。

2.使用URLRewriting.Net重写Url(使用HttpModule)

 

我使用URLRewriting.Net演示一个简单的例子。在开始使用URLRewriting.Net之前,首先从URLRewriting.Net网站下载它,并把它放到你的网站的/bin文件夹下。 

    然后增加如下配置到你的web.config文件中:

 主要添加<configsections><httpmodules><urlrewritingnet>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值