我从以下Stack Overflow文章中获得建议,数字主键的搜索速度比MySQL数据库中的字符串主键快。
参考: Strings as Primary Keys in SQL Database
我还考虑了这篇Stack Overflow文章中的评论,即页面网址中的ID不适合SEO。
参考: Why is just an ID in the URL path a bad idea for SEO?
由于这个原因,我也付出了很多努力来保持我的网址清洁以增强搜索引擎优化,但我很想知道是否有人知道如何转换网址下面的URL的标题部分(这个 - is-an-example-page)到其数字主键id中进行搜索。
示例网址 http://www.example.com/this-is-an-example-page
我在Apache服务器上使用PHP,使用phpMyAdmin和MySQL。
我注意到digg做的事与我想要达到的目标相同。他们将如何做到这一点?
答案 0 :(得分:0)
通常的方法是使用包含文本ID的单独列,并在创建时从文章名称创建。
然后,您使用mod_rewrite
接受您所描述的表单中的网址,并将其发送到index.php?id=this-is-an-example-page
这样的脚本。然后,只需要查询新列,而不是数字ID(它应该仍然存在于内部)。
如何从任何标题创建一个URL友好的字符串,请参阅... mmm,我找不到一个好问题&现在回答这个问题。这是一种不完美的方法:Improve converting string to readable urls
有关重写部分,请参阅How to create friendly URL in php?