Je voudrais mettre en place une architecture multiclients pour des sites en php5.
J'ai configuré les sites de la manieres suivantes:
+ Il y a un tronc commun pour tous les sites clients qui se trouve dans /webroot/www
Le fichier index.php se trouve dans ce répertoire.
+ Ensuite chaque client posséde son propre répertoire avec un fichier include (setup.php) contenant les variables propres au client telles que les acces a la bdd, etc .. et des repertoires images, et css. Le répertoire racine du client se trouve dans : /webroot/client/www.
Pour chaque client, j'ai configuré un VirtualHost avec Apache de cette maniere:
ServerName client.monsite.fr
DocumentRoot /webroot/www
<Directory /webroot/www/>
Options FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
Alias /conf /webroot/client/www/
<Directory /webroot/client/www/>
Options FollowSymLinks Indexes MultiViews
#AllowOverride AuthConfig
AllowOverride none
Order allow,deny
allow from all
</Directory>
Ainsi chaque client possede le meme tronc commun comme indiqué dans DocumentRoot
et ensuite dans index.php je fait un require_once(conf/setup.php) pour inclure la config propre au client qui se trouve dans l'alias /conf.
Le problème est que le require apparement ne prend pas en compte les alias d'apache mais ne gere que le systeme de fichier, donc ainsi il essaye de récupérer /webroot/www/conf/setup.php, qui ne trouve pas bien évidement.
J'ai également tenté de faire directement require_once(http://client.monsite.fr/conf/setup.php) mais la ca ne marche pas non plus car setup.php est d'abord interprété par apache et c'est le résultat qui est inclus.
J'ai cherché pendant des heures mais je ne trouve pas de solutions. Si quelqu'un pouvait m'aider ca serait super sympa
Benoit