我想使用CodeIgniter在我的函数中添加slug但我的代码不起作用

时间:2016-10-10 08:33:27

标签: php codeigniter url slug

我想使用CodeIgniter Web Framework创建一个slug但是我的代码不起作用我不知道它为什么会发生,它给了我这个错误"重定向了你太多次"。 这是我的路线设置:

$route['readblog/(:num)/(:any)'] = 'blogs/readblog/$1/$2';

这是我的控制器

public function readblog($blog_id = null, $slug = '')
{
    if ($slug === '')
    {
       redirect('readblog/'. $blog_id . '/' . $slug);   
    }   
    else
    {
        $data['title'] = 'Blogs is here for shakzee';
        $this->load->view('home/header/header',$data);
        $this->load->view('home/css/css');
        $this->load->view('home/navbar/navbar2');
        $this->load->view('blogs/readblog',$data);
        $this->load->view('home/footer/footer');
        $this->load->view('home/js/js');                
    }               
}

1 个答案:

答案 0 :(得分:0)

您的条件if ($slug === '')会创建一个循环。这就是原因。函数readblog()刚刚在$ slug参数中使用空字符串调用。条件看到空字符串,然后重定向回相同的函数,传递相同的空字符串作为参数。这种情况仍然存在,因此它再次重新定向,一次又一次地重定向。最终,浏览器会意识到正在发生的事情并发出错误。

您需要执行以下操作之一;在重定向回相同的URL之前,将$ slug设置为有效的字符串;重定向到解释问题的其他URL;加载解释问题的视图。