在网站中实现URL slug功能

Gui*_*mez 0 url url-routing slug

我想知道如何在网站中实现URL slug功能,而不会在URL中显示当前正在查看的记录的ID.

例如,StackOverflow URL如下所示:来自Url Slug的MVC动态视图.请注意,URL包含记录的ID.如果我要将此页面加入书签,并且由于某种原因记录的ID已更改,我将来无法查看此记录.

我想实现一个不依赖于记录ID的URL slug功能,所以它看起来像https://stackoverflow.com/questions/mvc-dynamic-views-from-url-slug.

你能否提供实现这一目标的步骤?你是否使用了唱片的标题并对其进行了缓和,保存了那个slug,再也没有改变它?

我正在寻找的示例网址是http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery -plugins.aspx(注意URL中没有ID)

谢谢!

Jos*_*Lee 5

这基本上就是你做的.每种方法都有其优点:

  • 在Stack Overflow上,由于可以更改问题的标题,因此ID用于永久链接到问题,而标题不正确的URL将仅重定向.
  • 使用slug作为永久标识符意味着slug永远不会改变.更改标题是可能的,但它可能看起来令人困惑,你可能最好重定向slug.此外,slu or要么是全球唯一的,要么你需要找到一种方法来强制每年/每月/每天或其他什么的独特性.

您将需要一个数据库索引来使slug查找更有效.幸运的是,Django的Slug字段自动创建数据库索引.

您可能仍希望拥有一个数字主键,只是为了简化数据库的其余部分.