我听说有人使用 slugs 来生成干净的 url。我不知道它是如何工作的。 目前我有一个 codeigniter 站点,它生成这样的 url
www.site.com/index.php/blog/view/7
据我所知,通过维护 slug 字段可以实现类似的 url
www.site.com/index.php/blog/view/once-upon-a-time
这是怎么做到的?特别是在引用 codeigniter 时?
最佳答案
我只是将 slug 存储在我的数据库表中,在一个名为 slug
的列中,然后找到一个带有 slug 的帖子,如下所示:
public function view($slug)
{
$query = $this->db->get_where('posts', array('slug' => $slug), 1);
// Fetch the post row, display the post view, etc...
}
此外,要轻松地从您的帖子标题中导出别名,只需使用 url_title()
URL 助手的:
// Use dashes to separate words;
// third param is true to change all letters to lowercase
$slug = url_title($title, 'dash', true);
一点好处:您可能希望对 slug
列实现一个唯一的键约束,以确保每个帖子都有一个唯一的 slug,这样 CodeIgniter 应该寻找哪个帖子就不会模棱两可了。当然,您可能应该首先为您的帖子提供唯一的标题,但将其设置到位可以强制执行规则并防止您的应用程序搞砸。
关于php - 在 codeigniter 中使用 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305786/