Frage

Im Allgemeinen hat meine Entwicklung nur abgedeckt kleine bis mittelgroße Unternehmen und E-Commerce-Sites.

Mein nächstes Projekt wird encompass 30 Standorten sagen - aber werden sie etwa 95% gemeinsam miteinander haben. Ich möchte, dass sie ein ‚Gehirn‘ haben, das heißt, ich Änderungen ausrollen kann, Aktualisierungen der Rahmen usw. nur einmal.

Ich frage mich, ob die Stack-Überlauf-Familie von Websites tun, um diesen (Super-User, Stackoverflow, serverfault usw.).

Meine Sprachen / Plattformen der Wahl sind PHP 5.3, MySQL 5 und die Kohana Framework.

sollte das Gehirn

  • 1 Admin-System, das jede Seite verarbeiten kann
  • alle Vorlagen existieren im Gehirn - aber sie haben Platzhalter zum Beispiel Titel, Logo, etc
  • Ein Weg, so dass ich jede Aktualisierung der globalen Vorlagen ausrollen kann, wird automatisch auf alle anderen Seiten herauszufiltern.

Ich weiß, das auf dem Gehirn eine Menge Stress setzen würde, so dass ich zu verwenden Server-Seite haben würde viel Caching.

Wie würde ich jeden Domäne Zugriff auf das Gehirn habe, so zum Beispiel:

http://www.mysite2.com/products/something

http://www.mothership.com/mysite2/products/something

Und das wäre der beste Weg, es zu tun? Haben Sie irgendwelche Tipps? Bin ich auf dem richtigen Weg?

Fühlen Sie sich frei, mir alle mögliche weitere Einzelheiten zu fragen.

War es hilfreich?

Lösung

Der einfachste Weg, dies zu tun ist mit virtuellem Hosting. Grundsätzlich laufen Sie alle Websites, auf einer Maschine. Die eine Maschine verfügt über eine Apache-Config, dass alle Websites dient.

Wenn die Standorte ähnlicher sind als andere dann alle nur darauf, die Websites, auf die ein Verzeichnis. Die PHP-Dateien können erkennen, welche Seite sie dienen. Sie können für jeden Standort eine unterschiedliche Kopf- und Fußzeilen bieten den Blick zu handhaben und fühlen. Sie können auch bestimmte Seiten auf diese Weise beschränken.

Wenn die Websites mehr anders als ähnliche dann jeder Punkt in einem anderen Verzeichnis und haben Seiten relevant zu diesen Websites in jedem Verzeichnis.

Für gemeinsame Funktionalität, die Sie so etwas wie mod_rewrite zur Karte URLs auf den verschiedenen Websites auf dem gleichen Skript verwenden könnte, oder Sie können PHP-Skripte haben an jeder Stelle, die einschließen / erfordern gemeinsame Funktionalität.

Grundsätzlich gibt es viele Möglichkeiten. Ihr Ziel soll die Website sein macht einfach zu warten und Code-Duplizierung auf ein absolutes Minimum zu reduzieren.

Wie gewünscht vorgeschlagen lesen:

Andere Tipps

Sie können dies in Apache erreichen die <VirtualHost> Directive verwenden. httpd.conf: Um dies zu tun, unter Apache 2.x bearbeiten Include conf/extra/httpd-vhosts.conf und uncomment dieser Linie (in der Regel am Ende der Datei gefunden). Dann suchen Sie die Datei httpd-vhosts.conf und Eintrag der VirtualHosts in diesem Format:

<VirtualHost 10.1.2.3>
DocumentRoot /home/site1
ServerName site1.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site2.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site3.com
</VirtualHost>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top