我们对ASP.Net使用什么网址重写器?
我看过ASP.Net和IIS的多个URL重写器,想知道其他人使用的是什么,为什么。
以下是我使用或者查看过的内容:
- ThunderMain URLRewriter:在先前的项目中使用,没有我们一直在寻找的灵活性/性能
- Ewal UrlMapper:在当前项目中使用,但似乎已放弃了源代码
- UrlRewritingNet.UrlRewrite:看起来像一个不错的库,但是文档的语法很差,让我感到不安
- UrlRewriter.NET:这是我目前最喜欢的功能,具有很大的灵活性,尽管注入替代正则表达式的其他功能稍微改变了标准.Net正则表达式语法
- 托管的Fusion URL重写器:我在上一个有关堆栈溢出的问题中找到了该脚本,但尚未通过示例语法进行尝试,似乎无法通过web.config对其进行编辑
解决方案
回答
如果我现在开始一个新的Web项目,那么我将考虑从头开始使用MVC。它将重写的URL作为标准。
回答
.NET 3.5刚刚发布了System.Web.Routing。
我们可以在自定义HttpModule中使用Request.RewritePath()
我更喜欢使用IHttpHandlerFactory实现,并且完全控制所有传入的URL及其映射到的位置。
回答
之前,我在流量非常高的网站上使用过UrlRewriting.NET,它对我们来说非常有用。我相信开发人员是德国人,所以英语文档可能不如它可能的好。我强烈推荐它。
回答
我对Ionic的ISAPI Rewrite Filter非常有经验,它与ISAPI_Rewrite非常相似,但免费。两者均以mod_rewrite为模型,并且都是ISAPI筛选器,因此我们无法在代码中进行管理,因为必须在IIS中进行设置。
回答
+1 UrlRewritingNET.URLRewrite-在一个盒子中用于数百个服务/门户/站点中,多年没有问题! (@Jason-我们正在谈论的那个,对吧?)
而且我还在个人网站上使用了URLRewriter.NET,发现它很有趣。 @travis,关于更改的语法,我们是对的,但是一旦习惯了,那就很好了。
回答
我刚刚安装了Helicon的ISAPI Rewrite3. 其工作原理与htaccess完全相同。到目前为止,我一直在挖掘它。
回答
我使用.NET URL Rewriter和Reverse Proxy取得了巨大的成功。它几乎与mod_rewrite差不多,并使用几乎所有相同的语法。该项目的所有者非常乐于助人且友好,产品效果很好。该gem提供了重写和代理功能,许多解决方案都没有提供此功能。海事组织,值得一看。
回答
IIS 7具有相当强大的URL重写模块,并且与IIS集成良好。
回答
如果我们在IIS7 Windows 2008环境中,则不建议使用UrlRewritingNet。
原因:
UrlRewritingNet要求应用程序池模式=经典且未集成。
这不是最佳的
而且,他们的项目在过去的两年中似乎已经非常枯竭。