永久链接战略(不是wordpress)

时间:2015-01-10 15:36:26

标签: php mysql hyperlink

我正在构建一个由数据库驱动的小型PHP CMS。我试图为这种情况制定最佳策略:

我有这样的网址:

http://www.my.com/news/cool-slug

有人保存或分享此网址(或由Google编制索引)。

现在我意识到slu is不太正确并改为:

http://www.my.com/news/coolest-slug

Google和之前保存该网址的用户将遇到404错误。

这是最好和最常见的解决方案(显示404)还是应该在我的数据库中保留一个表,其中生成的URL的所有历史记录都映射到页面的ID并使用301标头重定向? 这对我的系统来说是不必要的负载(这个表可以得到很多记录......)?

1 个答案:

答案 0 :(得分:0)

许多站点使用的一个非常常见的解决方案(据我所知,包括StackOverflow)是在URL中包含ID。 slu for就在这里寻找SEO /美女/其他什么,但不用于识别页面。

示例:http://stackoverflow.com/questions/27877901/strategy-for-permanent-links-not-wordpress

只要你拥有正确的ID,你使用什么slug并不重要。该网站将检测到slug是错误的,并生成重定向到正确的。例如,以下URL有效:

http://stackoverflow.com/questions/27877901/old-slug

如果由于某种原因你不想在URL中使用ID,那么你要么禁止更改(许多新闻网站会这样做:你会注意到有时候slug和新闻文章的标题不匹配),或者你的当slu to改变时,不得不忍受偶尔的404。我从来没有看到任何网站有一个系统来保持slug历史,因为它可能非常烦人(例如你将无法“重复使用”slug)。