重提URL Rewrite(2):使用已有组件进行URL Rewrite(转老赵blog)

可能已经没有人会使用上一篇文章中的方法进行URL Rewrite了,因为提供URL Rewrite的组件早已铺天盖地了。

ASP.NET级别的URL Rewrite组件的原理很简单,其实只是监听BeginRequest事件,并且根据配置来决定目标URL。在我之前接触过的项目中,发现使用URLRewriter作为URL Rewrite组件的频率非常高,我想可能是因为那是微软提供的东西吧。

如果要使用URLRewriter,首先自然就是在web.config中配置一个    [L]

最后,我们来看一下两种组件Rewrite的区别。显然,最大的区别就在于它们是不同层面上的重写,下面的两幅示意图就描述了在两种情况下它们是如何将原本应该得到“404 Resource Not Found”结果的“/User/jeffz”请求重写至“/User/name=jeffz”的。

首先是UrlRewriter.NET在ASP.NET层面上的URL Rewrite:

接着是IIRF在IIS层面上的URL Rewrite:

有了这两个组件,相信我们已经再也不需要其他东西来实现URL Rewrite了。

posted @ 2011-01-21 09:55  WEB开发狂  阅读(171)  评论(0编辑  收藏  举报