我有以下情况,我的网站上有一些帖子是通过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可读的任何内容。因此,每当用户访问网站时,如果参数是slug
或id
,则控制器方法可以处理该参数,并使用给定的参数继续查询。
然后你可以设置这样的路线:
$route['posts/see/(:any)'] = "posts/see/$1";