Я установил $routes['404_override'] = 'city/switch_site'
Теперь в моем городском контроллере
Класс City расширяет 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 ответ
Я думаю, что вы все делаете неправильно. Внутри вашего коммутатора вместо того, чтобы включать другие контроллеры, которые не будут работать, используйте redirect(), чтобы направить их туда, куда они должны идти.
Похожие вопросы
Новые вопросы
codeigniter
CodeIgniter — это среда разработки приложений — набор инструментов — для людей, которые создают веб-сайты с использованием PHP. Созданный EllisLab и поддерживаемый BCIT, теперь он является проектом CodeIgniter Foundation. Платформа реализует модифицированную версию шаблона проектирования Model-View-Controller. Используйте этот тег для вопросов о классах, методах, функциях, синтаксисе и использовании CodeIgniter. Существует две основные версии: 3.x и 4.x, отвечающие различным системным требованиям.