我有以下情况,我的网站上有一些帖子可以通过id访问,比方说
http://websiteurl.com/posts/see/1
posts
控制器,有see
方法查找数据库上的id
,让我们说它找到它,帖子标题是“最神奇的照片”,我怎么能配置Route.php
类的codeigniter,以便从类似于:
http://websiteurl.com/posts/see/most-amazing-photos-1.html
这些帖子是动态创建的,它们很多,因此无法手动逐个设置。
谢谢!
答案 0 :(得分:1)
你可以做的是使用正则表达式。假设您将为每张照片创建不同的网址标记,您可以在route.php中找到类似的内容。
$route['posts/see/(:any)'] = "posts/see/$1";
但是,您必须为每张照片添加唯一的网址标记,否则从网址标记中获取照片将不明确。
好好开始吧。
答案 1 :(得分:0)
您希望实现的url参数称为slug
与wordpress
类似,您可以通过其id
或其slug查询POST。
实现这一点的一种方法是每次创建帖子时,都将slug保存到db
。slug可以是帖子的标题或任何可读的SEO。因此,每当用户访问该站点时,如果参数为slug
或id
,您的控制器方法可以访问该参数并使用给定参数继续查询。
然后您可以设置路线,如:
$route['posts/see/(:any)'] = "posts/see/$1";