Алексей Набоков Web — разработка, seo, программирование

10Авг/100

codeigniter, несколько приложений

Иногда возникает необходимость запустить на одной версии фрэймворка несколько приложений (application).
Например,
http://site.tld (сайт)
http://admin.site.tld (административный раздел) и т.д.

Используя CodeIgniter выбрал такую схему. Каждое приложение выносится на отдельный домен 3-го уровня, он назначается синонимом основному домену admin.site.tld -> site.tld

Сами приложения размещаем, например, в system/applications,  получая такую структуру
system/applications/site
system/applications/admin

Остается добавить распознавание адреса, на который обращаются,  чтобы загрузить  соответствующее приложение.
Для этого правим index.php
вместо

$application_folder = "application";

добавляем


// учитываем www синонимы

$host=preg_replace('/^www\./U','',$_SERVER["HTTP_HOST"]);
if($host=='site.tld'){
$application_folder = "applications/site";
}
elseif($host=='admin.site.tld'){
$application_folder = "applications/admin";
}