2010-10-06 59 views

回答

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 

然後,您可以在公共/ system目錄指向每個htdocs文件夾中的index.php文件。你也可以把你想要在共同/應用程序中的所有子域之間共享的代碼放到你的代碼中。

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/"; 
} 
相關問題