Codeigniter 代码点火器404_超控
我已设置$routes['404\u override']='city/switch\u site' 现在在我的城市管理员 类城市扩展CI_控制器{Codeigniter 代码点火器404_超控,codeigniter,codeigniter-url,Codeigniter,Codeigniter Url,我已设置$routes['404\u override']='city/switch\u site' 现在在我的城市管理员 类城市扩展CI_控制器{ function __construct() { parent::__construct(); } function switch_site( ) { $this->load->helper('url'); // load the helper first $ci
function __construct() {
parent::__construct();
}
function switch_site( ) {
$this->load->helper('url'); // load the helper first
$city = $this->uri->segment(1);
$segment_cnt = 1;
$valid_url = '';
switch( $city ) {
case 'pune':
$segments = $this->uri->segment_array(2);
foreach($segments as $value) {
if($segment_cnt > 1) {
$valid_url .= $this->uri->slash_segment($segment_cnt);
}
$segment_cnt++;
}
$this->config->set_item('cityid',1);
$this->config->set_item('cityname','pune');
echo APPPATH.'controllers/'.$valid_url;
include_once(APPPATH.'controllers/'.$valid_url);
break;
case 'mumbai':
$segments = $this->uri->segment_array(2);
foreach($segments as $value) {
if($segment_cnt > 1) {
$valid_url .= $this->uri->slash_segment($segment_cnt);
}
$segment_cnt++;
}
$this->config->set_item('cityid',2);
$this->config->set_item('cityname','mumbai');
include_once(APPPATH.'controllers/'.$valid_url);
break;
default:
}
}
}
我现在如何将正确的url传递给codeigniter路由器我认为你的做法完全错了。在交换机内部,不要包含其他无法工作的控制器,而是使用重定向将它们带到应该去的地方。谢谢你的回答,但我放弃了这个想法,而是使用codeigniter本机路由和pre_系统h去得到我需要的结果