【发布时间】:2011-11-24 23:05:31
【问题描述】:
我想让我的 ASP.NET 网页 URL 不带 .aspx 扩展名。我可以通过两种方式做到这一点,使用 IIS7 URL 重写模块或 ASP.NET URL 路由。选择哪种方法?
【问题讨论】:
标签: .net asp.net iis-7 url-rewriting asp.net-routing
我想让我的 ASP.NET 网页 URL 不带 .aspx 扩展名。我可以通过两种方式做到这一点,使用 IIS7 URL 重写模块或 ASP.NET URL 路由。选择哪种方法?
【问题讨论】:
标签: .net asp.net iis-7 url-rewriting asp.net-routing
使用 ASP.NET 路由。这是自 .NET 4.0 以来最新且正确的方法。
阅读此thorough article,了解 MSDN 团队所写的主题(转至您应该使用哪个选项?)。
路由将请求资源解析逻辑保留在您的应用程序中,因此您可以在需要时轻松添加依赖于应用程序的逻辑,并且无需在应用程序和单独的配置资源之间保持同步。
引用上述文章:
如果您正在开发一个新的 ASP.NET Web 应用程序,该应用程序使用 ASP.NET MVC 或 ASP.NET 动态数据技术,使用 ASP.NET 路由。您的应用程序将受益于对 clean 的原生支持 URL,包括为您的 Web 中的链接生成干净的 URL 页。请注意,ASP.NET 路由不支持标准 Web 窗体 应用程序,虽然有计划支持它 未来。
如果您已经拥有旧版 ASP.NET Web 应用程序并执行 不想改变它,使用 URL Rewrite 模块。 URL重写 模块可让您将搜索引擎友好的 URL 转换为一种格式 您的应用程序当前使用的。此外,它还可以让您创建 可用于重定向搜索引擎爬虫的重定向规则 清理网址。
另请阅读 SO:IIS URL Rewriting vs URL Routing
【讨论】: