Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 代码点火器404_超控_Codeigniter_Codeigniter Url - Fatal编程技术网

Codeigniter 代码点火器404_超控

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

我已设置$routes['404\u override']='city/switch\u site'

现在在我的城市管理员

类城市扩展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去得到我需要的结果