将URL中的页面标题转换为页面ID

时间:2013-09-08 14:19:31

标签: php mysql apache

我从以下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做的事与我想要达到的目标相同。他们将如何做到这一点?

1 个答案:

答案 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?