有没有一种简单的方法可以在codeigniter上创建子域名?

时间:2010-10-06 14:27:55

标签: php .htaccess mod-rewrite codeigniter subdomain

在apign.site.com等codeigniter上创建子域名有简单的方法吗?

2 个答案:

答案 0 :(得分:8)

您采用的方法取决于子域与主站点的不同程度。如果它们非常相似并且将使用相同的代码库:

$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文件指向common / system目录下的每个htdocs文件夹中。您还可以在共同/应用程序中的所有子域之间放置要共享的代码,并将其包含在代码中。

答案 1 :(得分:2)

您需要在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/";   
}