漂亮的url代码点火器


Pretty urls codeigniter

我有以下情况,我的网站上有一些帖子是通过id访问的,比如说http://websiteurl.com/posts/see/1posts控制器有一个see方法,它在数据库中查找id,假设它找到了它,发布的标题是"最令人惊叹的照片",我如何配置代码点火器的Route.php类,使其可以从类似于的url发布

http://websiteurl.com/posts/see/most-amazing-photos-1.html

这些帖子是动态创建的,数量很多,因此无法手动逐个设置。

谢谢!

您可以使用regex。假设你将为每张照片创建不同的url标签,你可以在route.php 中有这样的东西

$route['posts/see/(:any)'] = "posts/see/$1";

然而,有必要为每张照片提供唯一的url标签,否则从url标签中获取照片将是不明确的。

试试看。

您想要实现的url参数称为slug

wordpress一样,您可以通过其id或其slug查询POST。

实现这一点的一种方法是,每次创建帖子时,都将slug保存到db中。slug可以是帖子的标题,也可以是SEO可读的任何内容。因此,每当用户访问网站时,如果参数是slugid,则控制器方法可以处理该参数,并使用给定的参数继续查询。

然后你可以设置这样的路线:

$route['posts/see/(:any)'] = "posts/see/$1";