aspnet.friendlyurls 对比 Url 重写
aspnet.friendlyurls versus Url Rewriting
我们希望放弃我们目前在 asp.net 网络表单应用程序中使用的旧 URL 重写包(UrlRewritingNet - 它已不再支持和开发)。在我的研究中,我遇到了两个潜在的替代品(我认为),但我不清楚它们在基本功能(以及我们现有的功能)方面是否真的是同类产品。
第一个是 friendlyUrls,如果我添加 NuGet 包并对其进行配置,看起来我可以使用它并且它可能会完成我们需要的所有重定向和友好 url。它看起来很容易使用,我们可以编写代码将一些路由放入数据库中并创建它,这样我们就不必将所有内容都硬编码到配置文件中。
第二个是 URL IIS 重写 2.0。它看起来更像是我们目前正在使用的。似乎所有内容都在 .config 文件中指定。创建重写似乎也很复杂。
我们只有几个重写,似乎它们可能无法通过 friendlyUrls 轻松提供(例如 http=>https,来自我们旧域的 301 重定向和 no-www => www),但它也可能因为我还没有研究过 friendlyUrls 的那个方面。 (编辑:哦,我想我们可能偶尔会收到从 friendlyUrl 转到外部网站的请求,即 www.oursite.com/there => www.yoursite.com)
我的问题是,这些本质上是同一件事,还是我遗漏了什么?我应该使用一个、另一个还是两者都使用,在什么情况下我应该使用一个而不是另一个?我似乎无法清楚地比较每个 does/doesn 对我的作用,尤其是与另一个相比。
@mason 感谢您的评论,您为我指出了一个好的方向。
FriendlyUrl 只是 .Net 内置路由的扩展(添加自动路由),这将完成我们 "rewriting" 所做的大部分工作。然后我会使用 routes.MapPageRoute 添加特定的额外页面路由(即我们想通过这些额外的友好 URL 到达页面 x)。最后,如果我想进行任何外部更改(即旧域到新域),我需要进行某种重写。
我们希望放弃我们目前在 asp.net 网络表单应用程序中使用的旧 URL 重写包(UrlRewritingNet - 它已不再支持和开发)。在我的研究中,我遇到了两个潜在的替代品(我认为),但我不清楚它们在基本功能(以及我们现有的功能)方面是否真的是同类产品。
第一个是 friendlyUrls,如果我添加 NuGet 包并对其进行配置,看起来我可以使用它并且它可能会完成我们需要的所有重定向和友好 url。它看起来很容易使用,我们可以编写代码将一些路由放入数据库中并创建它,这样我们就不必将所有内容都硬编码到配置文件中。
第二个是 URL IIS 重写 2.0。它看起来更像是我们目前正在使用的。似乎所有内容都在 .config 文件中指定。创建重写似乎也很复杂。
我们只有几个重写,似乎它们可能无法通过 friendlyUrls 轻松提供(例如 http=>https,来自我们旧域的 301 重定向和 no-www => www),但它也可能因为我还没有研究过 friendlyUrls 的那个方面。 (编辑:哦,我想我们可能偶尔会收到从 friendlyUrl 转到外部网站的请求,即 www.oursite.com/there => www.yoursite.com)
我的问题是,这些本质上是同一件事,还是我遗漏了什么?我应该使用一个、另一个还是两者都使用,在什么情况下我应该使用一个而不是另一个?我似乎无法清楚地比较每个 does/doesn 对我的作用,尤其是与另一个相比。
@mason 感谢您的评论,您为我指出了一个好的方向。
FriendlyUrl 只是 .Net 内置路由的扩展(添加自动路由),这将完成我们 "rewriting" 所做的大部分工作。然后我会使用 routes.MapPageRoute 添加特定的额外页面路由(即我们想通过这些额外的友好 URL 到达页面 x)。最后,如果我想进行任何外部更改(即旧域到新域),我需要进行某种重写。