我想将页面重定向到路由配置中设置的网址。
class init extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper("url");
$this->load->model('store');
}
function product($id, $slug=''){
//if no slug value passed then we obtain the product title and redirect
if($slug === ''){
//get the title value from products table and run it through _slugify function
$slug = $this->_slugify($this->store->read_productTitle($id));
redirect('init/product/'. $id . '/' . $slug); //okey when redirect
// redirect('product/'. $id . '/' . $slug); redirect loop
}
}
在routes.php中
$route['product/(:num)/(:any)'] = 'init/product/$1/$2';
当我重定向到redirect('product/'. $id . '/' . $slug)
时,它显示网页有重定向循环。如何在不制作产品控制器的情况下解决这个问题。
答案 0 :(得分:1)
将您的班级代码更改为我的
class Init extends CI_Controller //mark first letter uppercase
{
function __construct() {
parent::__construct();
$this->load->helper("url");
}
function product($id, $slug='')
{
//if no slug value passed then we obtain the product title and redirect
if($slug === '')
{
$slug = 'hello'; //$this->_slugify($this->store->read_productTitle($id));
redirect('product/'. $id . '/' . $slug);
}
else
{
echo $slug;
}
}
}
在路线改变
$route['product/(:num)/(:any)'] = 'init/product/$1/$2';
您的重定向工作正常,因为您重定向来自同一功能的相同功能:)