获得完整干净的URL

时间:2015-09-03 21:18:36

标签: php sql .htaccess

我正在努力想要为我的博客获得一个完整的干净网址。现在我有一个像这样的网址:

http://example.com/post/44/post-name

这里“44”是我用来从数据库中获取正确帖子的帖子ID。

但是我看到wordpress博客的网址是这样的:

http://example.com/post-name

如何实现这一目标?因为我需要帖子ID / $ _GET ['id']才能得到帖子。

2 个答案:

答案 0 :(得分:1)

您不一定需要ID来检索帖子。您只需要具有唯一值的索引属性。

要实现这一点,你的Post模型需要有一个" slug"属性。 slug属性可以基于您选择的任何其他属性或属性组合,但它通常基于" name"或"标题"属性。

因此,为了完成所有这些工作,当您创建新帖子时,您需要从名称/标题创建一个slug并将其与其他Post模型数据一起存储在DB中。在您的控制器操作中,您将从URL检索/ slug并查询具有相同slug的Post的db Post数据。

您还需要弄清楚处理重复的slu,因为它们需要是唯一的。也许这样的事情会起作用:/ slug-2

答案 1 :(得分:-1)

创建一个数据库表,将slugs映射到ID,然后从URL中的slug中查找ID。

创建博客时

INSERT INTO slugs_postids (slug, id) VALUES (?, ?);

然后当你进行查找时,

SELECT id FROM slugs_postids WHERE slug = ?;