Есть ли простой способ создания поддоменов на codeigniter? - PullRequest
9 голосов
/ 06 октября 2010

Существует ли простой способ создания поддоменов на codeigniter, например api.site.com?

Ответы [ 2 ]

8 голосов
/ 06 октября 2010

Ваш подход зависит от того, насколько субдомен отличается от основного сайта. Если они очень похожи и будут использовать одну и ту же кодовую базу:

$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/';

Если вам нужно, чтобы некоторые настройки отличались на другом поддомене, вы можете создать файл конфигурации следующим образом:

switch($_SERVER['HTTP_HOST']){
   case 'www.example.com':
       // settings specific to www subdomain
       $config['foo'] = 'bar';
   break;

   case 'apl.example.com':
       // settings specific to apl subdomain
       $config['foo'] = 'baz';
   break;
}

Другой подход может включать создание отдельной папки приложения для субдомена, но указание на ту же системную папку. Если вы организовываете свою файловую систему следующим образом:

example.com
  common
    system
    application
  www
    htdocs
    application
  apl
    htdocs
    application

Затем вы можете указать файл index.php в каждой папке htdocs в каталоге common / system. Вы также можете поместить код, которым вы хотите поделиться между всеми поддоменами в common / application, и включить их в свой код.

2 голосов
/ 06 октября 2010

Вам необходимо создать субдомен в DNS или настроить подстановочный знак для любого субдомена, который будет работать первым.

Как только вы запустите его, я думаю, что это случай переключения base_url в вашемфайл конфигурации.

if ($_SERVER['SERVER_NAME'] == "api.blah.com") {
    $config['base_url'] = "http://api.blah.com/";
}
else {
    $config['base_url'] = "http://www.blah.com/";   
}
...