2010-03-01 7 views
0

J'ai construit un site web en marque blanche en PHP qui utilise des modèles. Chaque étiquette blanche aura son propre ensemble de modèles et éventuellement quelques dossiers supplémentaires. Tous les sites en marque blanche sont sur le même serveur LAMP.Quelle est la meilleure façon de partager une logique commune entre des sites Web identiques gérés par des modèles?

Ce que je voudrais faire est de garder une copie centralisée du code principal sur le serveur et ensuite avoir chaque point de site à ces fichiers. Ensuite, chaque répertoire de site de marque blanche aura un répertoire physique pour ses modèles et tous les autres fichiers et répertoires.

L'idée est de supprimer complètement la logique de la présentation et de partager la logique sur tous les sites d'étiquettes blanches. De cette façon, je peux apporter des modifications à la logique partagée et tous les sites seront mis à jour.

J'ai aussi besoin d'une structure similaire dans les dépôts SVN. Actuellement, chaque site en marque blanche possède son propre référentiel.

Quelle est la meilleure façon de réaliser cela? Puis-je utiliser quelque chose comme mod_rewrite pour transférer toutes les demandes à part les modèles dans le dossier partagé?

  1. Ce que je dois vous assurer est que il est facile de mettre en place un nouveau site de marque blanche
  2. Les utilisateurs qui extrayez une étiquette blanche de la repro SVN pour travailler sur son modèles ne sont pas l'accès au code partagé

Répondre

0

En fin de compte, j'ai décidé d'utiliser des liens symboliques pour créer un lien vers les fichiers partagés. J'ai ensuite créé un script bash interactif pour configurer automatiquement les liens symboliques pour les nouvelles étiquettes blanches.

1

Dans Apache, vous pouvez configurer un répertoire alias accessible à partir de plusieurs sites Web différents

Ici, j'ai appelé common_files

<VirtualHost 100.100.100.100> 
    ServerName example.com 
    DocumentRoot "/usr/example/html_docs" 
    <Directory "/usr/example/html_docs"> 
    AllowOverride All 
    Allow from All 
    DirectoryIndex index.htm, index.php 
    </Directory> 
    Alias /sf "/usr/common_files" 
    <Directory "/usr/common_files"> 
    AllowOverride All 
    Allow from All 
    </Directory> 
</VirtualHost> 
+0

Le répertoire partagé est en fait l'intégralité du code du site incluant tous les fichiers php et index.php. Est-ce que tous les alias peuvent être associés à chaque étiquette blanche? Aussi, je veux vraiment éviter d'avoir à modifier les fichiers de configuration Apache, car il doit être très facile à configurer. – Camsoft

Questions connexes