Subdomain-Handling mit ISPConfig
Der Autor von ISPConfig sieht die Problematik die viele haben leider nicht:
Aus gewissen Gründen möchte man Subdomains unter dem selben User einrichten. Oder auch mal eine zweite Domain für das selbe Web.
Zum Beispiel gibt es CMS-Systeme (z.B. Typo3) die Multi-Domains unterstützen. Oder Multilingual: Mit <code>http://www.domain.de/code> sollen deutsche Inhalte und mit <code>http://www.domain.com/code> englischsprachige Inhalte erscheinen.
ISPConfig läßt zwar die so genannten "Co-Domains" zu, und ähnlich wie bei Confixx kann man sogar ein Unterverzeichnis aus dem eigenen Webroot angeben. Aber es wird kein eigener VirtualHost in Apache dafür gebaut, sondern lediglich mit Hilfe von <code>mod_rewritecode> die URL darauf umgebogen.
So kommt es zu dem meist unerwünschten Effekt, daß aus <code>http://sub.domain.tld/code> ein URL-Rewrite an den Browser zurück gegeben wird mit <code>http://www.domain.tld/sub/code>.
Dies verhindert aber o.g. Scenario mit Multidomain- oder Multilingual-Software.
Lösung
Im Forum von HowtoForge haben sich folgende zwei Möglichkeiten gebildet:
a) Patchen von ISPConfig:
Der Patch ist recht einfach: bearbeite <code>/root/ispconfig/scripts/lib/config.lib.phpcode>, suche nach <code>[R]code> (in der aktuellen Version 2.2.24 ist es in Zeile 1410) und lösche das Gesuchte.
Nachteile:
a) Mit jedem Update muß dieser Patch wiederholt werden.
b) Diese Änderung gilt nun für alle Subdomains.
b) Eigene <code>mod_rewritecode>-Regeln:
Im HTTP-Direktiven Feld der Domain fügt man folgende Zeilen ein:
RewriteEngine on RewriteCond %{HTTP_HOST} ^sub.domain.tld [NC] RewriteRule ^/(.*)$ /sub/$1 [L]
Für weitere Subdomains werden die letzten zwei Zeilen entsprechend wiederholt.
Nachteile:
a) Dies muß für jede betroffene Subdomain einzeln eingefügt werden.
b) Wenn der User im Webroot eigene Rewrite-Rules per <code>.htaccesscode> nutzt, ist o.g. meist wirkungslos.
b) Dies ist evtl. einzelnen Kunden nicht zuzumuten.
Links:
- HowtoForge.com: keeping subdomain URL in browser address bar
- HowtoForge.com: Co/sub-domains without rewritten URLs