In der Vergangenheit haben wir namensbasiertes virtuelles Hosting in Apache verwendet. Wir haben kürzlich Websites auf SSL umgestellt und mussten den IP-basierten Weg gehen. Daher haben wir derzeit eine Instanz, die wie folgt eingerichtet ist:
- www.domain.com verwendet Port 80
- dev.domain.com verwendet Port 8080
Beide verwenden dieselbe IP. Ist dieses Szenario mit der Multisite-Funktionalität von Drupal möglich? Wir stellen zwar fest, dass dev.domain.com funktioniert und die richtige „dev“-Datenbank liest (unter Verwendung der dev-Einstellungen), aber stattdessen liest es Designdateien von der „www“-Site, was wir nicht wollen.
Ist die htaccess-Datei des Entwicklers der Übeltäter? Apache hört auf 8080 und verwendet die richtigen DB-Einstellungen, aber nicht die richtigen Designdateien. Noch ein Hinweis: Beim Durchsuchen von dev.domain.com:8080 wird ein Fehler angezeigt: „Die Seite wird nicht richtig umgeleitet.“ Sollten wir einfach eine neue IP-Adresse für die Entwickler-Website kaufen, oder würde das immer noch nicht helfen?
Ich bin für jeden Rat dankbar. Danke.
Antwort1
Haben Sie versucht, mit Ihrer ServerName-Direktive für jede VirtualHost-Strophe einen Port anzugeben?
Antwort2
Es gibt möglicherweise eine bessere Lösung, wenn Sie dafür bezahlen möchten. Kaufen Sie ein Wildcard-Zertifikat für *.domain.com
Ich glaube, die Preise liegen bei etwa 150-200 pro Jahr. Damit sind Ihre Probleme gelöst.
Wenn Sie das nicht möchten, können Sie Ihren htaccess so bearbeiten, dass er allgemeiner für die Handhabung von Ports ist.
Antwort3
Es stellte sich heraus, dass dev.domain.com die ganze Zeit nur www.domain.com betrachtete und die richtige DB-Konfigurationsdatei von dort las, anstatt von dev.domain.com. Dies war letztendlich ein Problem mit der Reihenfolge der .conf-Dateien, in der dev.domain.com gelesen wurdenachwww.domain.com aufgrund des .conf-Namensschemas. Ich habe domain1-dev.conf in dev-domain1.com umbenannt und jetzt funktioniert alles einwandfrei, da dev.domain.com vor www.domain.com gelesen wird, was wie ein Catchall ist.
Dies hatte nichts mit Ports oder irgendetwas anderem als den VirtualHost-Einstellungen von Apache zu tun. Folgendes habe ich verwendet, um die Lesereihenfolge zu bestimmen:
$PATH_TO_APACHE_DIR/bin/httpd -S