清理我的 ASP.NET URL

Posted

技术标签:

【中文标题】清理我的 ASP.NET URL【英文标题】:Cleaning up my ASP.NET URLs 【发布时间】:2011-03-14 22:40:26 【问题描述】:

我注意到 ASP.NET 4 有一个名为“路由”或类似的新功能。它显然允许我使用看起来更干净的 URL,据称这既是为了外观,也是为了改进 SEO。在我的情况下,只使用几乎没有 GET 查询的基本 URL(即 index.aspx、login.aspx、manage.aspx 等)。ASP.NET 路由对我有用吗?它实际上将如何改善我的搜索引擎优化?它是如何启用的(即我是否将 login.aspx 更改为 /login 或其他?)


我测试了一个“路由”,并注意到我只是在复制行为日志以从我的 URL 中删除“.aspx”(即,我将 /Login.aspx 更改为 /Login)。是否有一种简写版本的路由,可以将 .aspx 从整个应用程序的所有页面中删除?

【问题讨论】:

【参考方案1】:

听起来您想做的最简单的事情就是为您的网站制定一些标准路线和模式。您将在应用程序启动时注册它们:

http://msdn.microsoft.com/en-us/library/cc668201.aspx#adding_routes_to_a_web_forms_application

该文章的其余部分将更深入地介绍您还可以做什么。

至于真正的改进,这完全取决于你的团队和你的观众。将路由添加到 webforms 应用程序是一个额外的混淆层,因此它增加了一些支持和维护。但它也使 URL 非常易于用户阅读和理解。如果您能找到一个很好的平衡点,让开发人员可以清楚地看到路线模式,并且让用户可以直观地看到路线模式,那么它应该会很好地工作。

【讨论】:

【参考方案2】:

我gone on record 对“友好”URL 的 SEO 好处持怀疑态度,但没有人会质疑它们更适合 人类 阅读。如果这对您很重要,那么您可以考虑使用 ASP.NET 中的新路由功能。

This article 贯穿所有细节,但基本上,它涉及在 global.asax 文件中的 Application_Start 事件中编写一些代码,以将 URL 与物理 ASP.NET Web 表单匹配。例如:

RouteTable.Routes.MapPageRoute(
    "Login",                // a name for this route
    "login",                // the URL to map
    "~/Login.aspx");        // the web form page to which to route  

【讨论】:

以上是关于清理我的 ASP.NET URL的主要内容,如果未能解决你的问题,请参考以下文章

在ASP.NET中的.CS文件中,会有很多的引用,请问怎么自动实现将没有用到的引用清理掉

如何针对跨站点脚本清理查询字符串输入 - 反映 ASP .Net(Web 窗体)应用程序中的问题?

Azure 函数和 ASP.NET 成员资格

Asp.Net WEb中怎么清空缓存?

如何在 ASP.NET Core 2.1 中的计时器上运行 BackgroundService

从 ASP.NET Webservice 中删除了 WebMethod,方法仍然显示