codeigniter 404_override - PullRequest
       11

codeigniter 404_override

0 голосов
/ 15 апреля 2011

Я установил $ маршруты ['404_override'] = 'city / switch_site'

, теперь в моем контроллере города

класс City extends CI_Controller {

    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

1 Ответ

0 голосов
/ 22 апреля 2011

Я думаю, что вы идете об этом все неправильно.Внутри вашего коммутатора вместо включения других контроллеров, которые не будут работать, используйте redirect (), чтобы перевести их туда, куда они должны идти.

...