2010-10-06 10 views

Répondre

8

L'approche que vous choisissez dépend de la différence entre le sous-domaine et le site principal. Si elles sont très similaires et seront en utilisant la même base de code:

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

Si vous avez besoin des paramètres d'être différents sur un sous-domaine, vous pouvez créer un fichier de configuration comme ceci:

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

Une autre L'approche inclurait la configuration d'un dossier d'application distinct pour le sous-domaine, mais pointant vers le même dossier système. Si vous organisez votre système de fichiers comme ceci:

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

Vous pouvez ensuite pointer le fichier index.php dans chaque dossier htdocs dans le répertoire commun/système. Vous pouvez également placer le code que vous souhaitez partager entre tous les sous-domaines dans Common/Application et les inclure dans votre code.

2

Vous devez créer le sous-domaine dans votre DNS ou configurer un caractère générique pour que tout sous-domaine fonctionne en premier.

Une fois que vous avez cette exécution, je suppose que c'est un cas de commutation du base_url dans votre fichier de configuration.

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