我想使用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');
}
}
答案 0 :(得分:0)
您的条件if ($slug === '')
会创建一个循环。这就是原因。函数readblog()
刚刚在$ slug参数中使用空字符串调用。条件看到空字符串,然后重定向回相同的函数,传递相同的空字符串作为参数。这种情况仍然存在,因此它再次重新定向,一次又一次地重定向。最终,浏览器会意识到正在发生的事情并发出错误。
您需要执行以下操作之一;在重定向回相同的URL之前,将$ slug设置为有效的字符串;重定向到解释问题的其他URL;加载解释问题的视图。