один контроллер codeigniter с именем site должен обрабатывать несколько доменов

Получил контроллер в codeigniter, который обрабатывает разные дочерние сайты.

  • site/index/1 извлекает контент для дочернего сайта A

  • site/index/2 получает контент для дочернего сайта B

Теперь мы решили зарегистрировать доменные имена для этих подсайтов.

Итак, что нам нужно:

http://www.subsite1.com  -> default controller should be site/index/1

без site/index/1 в URI.

http://www.subsite2.com  -> default controller should be site/index/2

без site/index/2 в URI.

Я возился и пытался играть с routes.php, но ничего не вышло.. Может ли кто-нибудь указать мне правильное направление?


person Mauricio Webtailor    schedule 21.06.2012    source источник


Ответы (1)


в вашем файле route.php вам нужно установить это:

$route['default_controller'] = ($_SERVER['SERVER_NAME'] == 'http://www.subsite1.com' ? "site/index/1" : "site/index/2");

и если вы пытаетесь заставить его где-то, когда вводится какой-то странный URL-адрес:

$route['404_override'] = ($_SERVER['SERVER_NAME'] == 'http://www.subsite1.com' ? "site/index/1" : "site/index/2");

а для второго просто переключите его на 2

person Rooster    schedule 21.06.2012
comment
с оператором switch? как переключатель ($_SERVER['HTTP_HOST']){ - person Mauricio Webtailor; 22.06.2012
comment
Я бы просто использовал короткий оператор if, если вы пытаетесь переключить его таким образом. Или просто используйте обычный оператор if, установите результат в переменную и назначьте переменную. Смотрите мою правку. - person Rooster; 22.06.2012