我正在尝试开发一个博客网站。这是我的问题:我无法从网址获取ID。
使用我的htaccess(我删除了index.php),现在这是我当前的链接:http://localhost/blogcodeigniter/posts/test_title_id_1
这是我在控制器中的功能:
public function post_look_up() {
$id = $this->uri->segment(3);
echo $id;
}
这是我的路线:
$route['posts/(:any)']='blog/post_look_up';
答案 0 :(得分:1)
由于您已经重写了controller/method
,因此您希望使用URI类' rsegment()
方法
$id = $this->uri->rsegment(3);
或
$id = $this->uri->segment(2);
您可以看到新设置的路线只有2个段。 Reference
答案 1 :(得分:1)
如果采用此约定,则必须标识字符串中的最后一个数字。
$segment = $this->uri->segment(2); //or 3
$post_id = preg_replace('(\d+)$', '', $segment);
但我不会这样。我只会根据slug加载帖子,只使用$ this-> uri-> segment(2)从db获取帖子。