我正在考虑为新网站实现漂亮链接的选择。
我了解如何使基础知识发挥作用,例如:
/view/postTitle/7895
我可以直接选择 id 7895 并忽略标题。
但是,我发现一些网站设法完全摆脱 ids:
/view/postTitle
这是如何工作的?
我能想到的唯一方法是,在每个请求中,pageTitle 作为字符串发送,并且一些代码执行一些 SQL 检查以返回正确的 id。然而,这将意味着大量潜在昂贵的 SQL 查询,不是吗?特别是当您有很多帖子时。
此外,这意味着每次有人创建帖子时,我都需要为该帖子生成一个唯一的、URL 友好的字符串。我需要检查数据库,直到获得唯一的数据库。这一切似乎太多了不是吗?
我是不是看错了?或者是否有现成的 API 和工具可以让这一切变得更容易、更高效?
我正在使用 PHP/MySQL、Apache。
谢谢
最佳答案
创建一个对帖子标题进行规范化/清理的函数 - 一种简单的方法可能是对原始标题的 urlencode() 表示进行哈希处理。将其存储为“id”而不是数据库生成的数值,并且您的 SQL 不需要显着更改。
关于php - 没有 id 的漂亮链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541587/