从标题生成独特的slugs

问题描述 投票:0回答:3

当涉及到重复时,处理 slugs 的最佳方法是什么?例如,假设该 slug 用于博客文章。看来标准的段转换似乎会删除所有非字母数字字符,然后降低大小写,最后用下划线或连字符打破空格。但也存在一些问题,例如:

标题 => Slug

  1. 前 500 项体育活动 => 前 500 项体育活动
  2. 前 500 美元体育活动 => 前 500 项体育活动

有两个独特标题的重复。有没有办法解决这个问题?也许简单的安全符号转换?

但是,我希望它能够从给出的每个标题中获得相同的 slug,以防止重复发布项目。

database web slug
3个回答
5
投票

由于鸽巢原理,你一般无法获得独特的蛞蝓。您正在从一个较大的集合映射到一个较小的集合,这意味着重复。

当然,您可以使用符号进行一些技巧,并尝试插入已经使用的破折号的下划线。但这不是通用的解决方案,因为并非所有符号都可以使用(不需要 slug)。您可能需要向 URL 添加另一个标记,例如日期或序列号。


0
投票

考虑在 URL 中添加年/月/日以支持非唯一的 slugs。另请记住将日期字段添加到您的唯一约束中。


0
投票

我认为我们应该像这样展示蛞蝓 domain.com/1/slug-此处 domain.com/2/slug-这里

这1和2也可以是唯一生成的不重复的id。 这样,最终的标题匹配 slug 就不会看起来不专业,例如最后出现 -1 -2。连seo都不会受影响。

© www.soinside.com 2019 - 2024. All rights reserved.