Subdomains in Apache weiterleiten

Aus Bennys Wiki
Wechseln zu: Navigation, Suche


Folgedes Codefragment packt man z.B. in eine .htaccess Datei im Hauptverzeichnis der jeweiligen Domain

RewriteEngine on
# wenn www.StartDomain oder nur die StartDomain aufgerufen wird, nach ZielDomain weiterleiten
RewriteCond %{HTTP_HOST} ^(www\.)?StartDomain\.de
# "R=302" leitet extern um und gibt an das es sich um eine temporäre Umleitung handelt (302 = http error code)
# "L" bedeutet das dies die letzte Regel ist
RewriteRule ^(.*)$ http://ZielDomain/ZielOrdner/$1 [R=302,L] 

# Wenn webcam.Domain, www.StartDomain oder nur die StartDomain aufgerufen wird nichts machen
# "NC" steht für Contextinsensitive betrachtung der Links (Groß- und Kleinschreibung ignorieren)
RewriteCond %{HTTP_HOST} !^(www\.|webcam\.)?StartDomain\.de [NC]
# Jede SubDomain wird zur ZielDomain weitergeleitet
RewriteCond %{HTTP_HOST} ^(.*)\.StartDomain\.de [NC]
# "%1" wird ersetzt durch die Eingabe hinter der StartDomain (z.B. http://StartDomain/Hannes wird zu http://ZielDomain/ZielOrdner/Hannes
RewriteRule ^(.*) http://ZielDomain/ZielOrdner/%1 [L]

Eine ausführliche Erklärung, sowie einige Beispiele für das benutzte Apache-Modul mod_rewrite findet man unter http://www.modrewrite.de/mod_rewrite.syntax.phtml