mehrere Domain inkl. aller Subdomains umleiten

  • Hallo zusammen,


    ich versuche über eine .htaccess mehrere Domains inkl Subdomains auf eine Zieldomain umzuleiten. Ich habe also in meinem Hosting einen Ordner "/redirect/zieldomain.de" und darin eine .htaccess. Alle meine Quelldomains und Subdomains zeigen auf diesen Ordner. Jetzt sollen also alle Anfragen an

    sub1.domain1.de --> sub1.zieldomain.de

    sub2.domain1.de --> sub2.zieldomain.de

    sub3.domain2.legal --> sub3.zieldomain.de

    ...


    Subdomain und Verzeichnis soll so weitergegeben werden wie eingegeben, d.h. ein URL mit domain1.de (etc) soll sich exakt so verhalten wie ein URL mit zieldomain.de Es soll also quasi immer nur der Teil "domain1.de" (etc) durch "zieldomain.de" ersetzt werden. Ich will natürlich nur 1 rewrite machen und nicht alle subdomains und domains einzeln angeben. Bislang hab ich nur .de und .legal und mache es so (was funktioniert):

    Apache Configuration
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(.*\.)?(.*)\.(de|legal)$ [NC]
    RewriteRule ^(.*)$ http://%1campusjustiz.de/$1 [R=301,L]

    Ich hätte jetzt gerne noch das (de|legal) durch ein Wildcard ersetzt, damit es auch für beliebige andere Domains geht, sorge mich aber, dass dann nicht mehr klar ist, wo die Verzeichnisse und Parameter beginnen ($). Evtl. gibt es ja eine Möglichkeit nur den "domain1.de"-Teil durch "zieldomain.de" zu ersetzen, aber halt ohne dass "domain1.de" explizit angegeben werden muss.


    Danke!


    Alex.

  • Ich hätte jetzt gerne noch das (de|legal) durch ein Wildcard ersetzt, damit es auch für beliebige andere Domains geht, sorge mich aber, dass dann nicht mehr klar ist, wo die Verzeichnisse und Parameter beginnen ($).

    Welche Verzeichnisse? In HTTP_HOST steht sowieso nur die Domain (und maximal der Port).


    Wenn Du keine Third-Level-Domains (z.B. co.uk, co.at, …) hast, könntest Du es mal damit versuchen:

    Apache Configuration
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(.+\.)?[^.]+\.[^.]+(:[0-9]+)?$
    RewriteRule ^(.*)$ http://%1campusjustiz.de/$1 [L,R=301]

    Ist allerdings ungetestet! :S


    Zur Erklärung: Mit [^.]+ holst Du alles, solange darin kein Punkt vorkommt. Du kannst solche regulären Ausdrücke übrigens z.B. mit regex101.com testen.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Super. Funktioniert. Danke!


    Gibt es eigentlich Probleme, wenn ich im WCP mehrere Domains/Subdomains auf dasselbe Verzeichnis zeigen lasse? Weil da ist ja so ein .well-known Verzeichnis, das irgendwie mit letsencrypt zusammenhängt und ich habe ja für jede Domain/Subdomain ein eigenes Zertifikat. Das ist der eigentliche Grund warum ich nicht eine wildcard-Subdomain anlege, sondern jede Subdomain identisch für jede Domain...


    LG

    Alex.

  • Nein, da sollte es keine Probleme mit Let's Encrypt geben. Die Dateien in .well-known tragen ja sowieso zufällige und einmalige Namen. Vor allem werden diese (afaik) außerhalb Deines Docroots abgelegt.


    Aufpassen musst Du maximal, wenn eine Domain im CCP gelöscht, umgezogen oder einem anderen Webhosting zugewiesen wird. Normalerweise werden verknüpfte "Inhalte" dabei gelöscht. Darauf wird währenddessen auch hingewiesen. Wie sich das verhält, wenn der Docroot für mehrere (Sub-) Domains gültig ist, weiß ich nicht. Wenn Du so etwas vorhast, solltest Du vorher lieber einen neuen leeren Ordner anlegen und den als Docroot zuweisen. Dann kann nichts passieren.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hab das Löschen einer Subdomain grad ausprobiert. Ordner blieb erhalten.

    Gemeint war nicht eine Subdomain, sondern die ganze Domain. Im CCP.


    Und ich glaube das willst Du eher nicht testen ^^

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Es kam bei mir aber aber durchaus auch schon, vor, dass der gesamte Inhalt tatsächlich gelöscht wurde.

    Manchmal aber auch eben nicht. ;)

    Möglicherweise hängt es davon ab, ob man eine Anwendung über das CCP installiert hat oder manuell.