1. 程式人生 > >ci 3以後不支援多級目錄路由,解決辦法

ci 3以後不支援多級目錄路由,解決辦法

比方說你想配置預設路由為: $route['default_controller'] = 'index/home'; ci3.0之前是可以放在 controllers中的子資料夾中的,但是到了ci3.0就必須直接放在 controllers下面,如果你堅持放在它的子資料夾下,那解決辦法如下:

找到 system > core > router.php  297-301 行註釋掉。 ( 我的是 3.1.9版本 ) 如下:

//註釋掉
// if (sscanf($this->default_controller, '%[^/]/%s', $class, $method) !== 2)  
// {  
//  $method = 'index';  
// } 

//增加
$index = strripos($this->default_controller,'/');
if($index == false)
{
	$class = $this->default_controller;
}
else
{
	$this->directory = substr($this->default_controller , 0 , $index + 1);
	$class = substr($this->default_controller , $index + 1);
}
$method = $this->method;