c# - 管理描述性 URL

标签 c# html asp.net-mvc seo

我注意到许多博客使用如下所示的 URL:

http://www.hanselman.com/blog/VirtualCamaraderieAPersistentVideoPortalForTheRemoteWorker.aspx

我假设这样做是为了优化搜索引擎。

这是如何从底层数据模型中读取的?你真的会搜索

VirtualCamaraderieAPersistentVideoPortalForTheRemoteWorker

在数据库中?

如果是这样,描述是如何管理的?如果它是一个 key ,那么在不破坏网络链接的情况下,它是否是一旦创建就永远不能更改的规则?

最佳答案

您是正确的,它是为了搜索引擎优化而完成的。但是,如果您使用破折号或下划线分隔各个单词,效果最佳。

这些 SE 友好的 url 部分通常称为 slugsurl slugs。 slug 在您的应用程序中必须是唯一的,通常创建或检查它们的函数必须考虑到这一点。

就像其他任何事情一样,有多种方法可以实现这样的事情。通常,您存储有关数据库项目的文本字符串,例如。文章标题。如果你不想存储它,你可以在加载时动态地将它转换成 url slug,或者你可以在插入/更新时保存真实的标题和 url slug,并在加载时使用 slug 作为你的数据库选择标准相关页面。

如果您希望自己的应用 super 健壮,您可以自动保存 slug 历史记录,并在 slug 发生更改时生成“301 Moved Permanently” header 。

关于c# - 管理描述性 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1183006/

相关文章:

c# - 无法从数据库获取列类型

c# - .NET 中具有多个 ID 的 SQL 查询

javascript - Plupload 与 Bootstrap 冲突

html - 检测 GWT Deck 面板动画的完成

asp.net-mvc - Sitecore MVC渲染类型说明

c# - Asp.Net MVC-Viewmodel空值

c# - 直接将文件上传到azure?

c# - 从弹出窗口更新 TreeView 节点,同时最小化服务器-客户端行程

html - 我将搜索框的宽度 pf 设置为 0。但它仍然显示它。可能是因为我正在使用 flex。但为什么?

c# - Bootstrap 模态显示在页面上,而不是隐藏