views:

24

answers:

2

Is there an easy way to create subdomains on codeigniter like api.site.com.?

Thanks in advance.

+1  A: 

You need to create the subdomain in your DNS or else setup a wildcard for any subdomain to work first.

Once you've got that running I guess it's a case of switching the base_url in your config file.

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

The approach you take depends on how different the subdomain is from the main site. If they are very similar and will be using the same codebase:

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

If you need some settings to be different on a different subdomain, you could create a config file like so:

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;
}

Another approach would include setting up a separate application folder for the subdomain, but pointing at the same system folder. If you organize your filesystem like this:

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

You could then point the index.php file in each htdocs folder at the common/system directory. You could also put code you want to share between all subdomains in common/application and include them from your code.

bradym