漂亮的网址codeigniter

时间:2014-09-10 03:18:09

标签: php codeigniter

我有以下情况,我的网站上有一些帖子可以通过id访问,比方说     http://websiteurl.com/posts/see/1 posts控制器,有see方法查找数据库上的id,让我们说它找到它,帖子标题是“最神奇的照片”,我怎么能配置Route.php类的codeigniter,以便从类似于:

的网址发布其可访问性

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以做的是使用正则表达式。假设您将为每张照片创建不同的网址标记,您可以在route.php中找到类似的内容。

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

但是,您必须为每张照片添加唯一的网址标记,否则从网址标记中获取照片将不明确。

好好开始吧。

答案 1 :(得分:0)

您希望实现的url参数称为slug

wordpress类似,您可以通过其id或其slug查询POST。

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

然后您可以设置路线,如:

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