在apign.site.com等codeigniter上创建子域名有简单的方法吗?
答案 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/";
}