首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储唯一URL段的最佳方式是什么?

存储唯一URL段的最佳方式是什么?
EN

Stack Overflow用户
提问于 2009-01-12 03:40:56
回答 4查看 6.7K关注 0票数 7

我正在尝试为我的网站生成一些url 'slugs'。它基于一段用户生成的文本。

现在,我已经创建了自己的slug方法,所以我不需要一些代码。

我想知道的是哪里是确定这个slug是否是唯一的,然后插入它的最佳位置,因为slug字段是唯一的键索引。

最初,我在任何insert (针对表)上都有一个触发器,因此当输入数据时,就会确定slug。我有一个函数,它检查包含用户文本(而不是slug)的记录的数量,然后生成slug,并将记录计数+1添加到新slug的末尾。

例如:

表中有5条记录具有相同的用户生成内容。slug现在是slug-text,末尾添加了一个6。

缺陷:如果用户更改了他们的文本,slug不会改变。

无论如何,我想知道是否其他人之前已经解决了这个问题,并找到了解决它的方法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-12 04:39:24

我有点喜欢stackoverflow的方式。这是将ID和段塞都放入url中。现在,插件不再必须是唯一的。我相信hulu.com也是这样做的。我认为这是解决这个问题的一个切实可行的办法。

票数 17
EN

Stack Overflow用户

发布于 2009-01-12 03:45:08

大多数网站不会更改这个插件,因为如果用户编辑了她的标题,它不应该破坏任何已经创建的帖子链接。

票数 3
EN

Stack Overflow用户

发布于 2009-01-12 03:51:27

对于您已有的数据库解决方案,如果它运行良好,您还可以使用更新触发器在内容发生变化时更新slug,但您应该寻找性能影响。

对于另一种解决方案,您可以使用在启动时加载的映射,该映射包含现有的slug,其中包含键作为slug和现有的count作为值。每次生成slug时,确定现有值并将高于该值的值附加到表中,然后更新映射。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/434376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档