Seite 1 von 1

Doman & SubDomain weiterleiten mit htaccess über RewriteRule

Verfasst: 25.12.2010 11:30
von Mafia GmbH
Hallo ich benötige Hilfe bei der umleitung meiner Domains mit hilfe der htaccess Datei.
Das problem ist folgendes.
ich habe zwei Domains.

www.x.de und www.y.de

jede dieser domains können unendliche subdomains haben.
wie z.b. sub1.x.de oder sub1.y.de
Die subdomains von beiden domains sind identisch.

Nun möchte ich die domain X auf die domain y mleiten und zwar auch die subdomains entsprechend.
Es sollte so funktionieren mit der Umleitung:
www.x.de -> www.y.de
x.de -> www.y.de
sub1.x.de -> www.sub1.y.de oder auch sub1.y.de (kann ohne oder mit www sein, ist egal, wie es einfacher ist.)

Aber auch die angegebenen Dateine wie index.php dahinter sollten mit übernohmen werden wie z.B.
sub.x.de/start.php -> sub.y.de/start.php
------------------------
ich habe hier schon mal etwas rumexperementiert, vieleicht kann jemand den fehler oder eine Ergänzung finden.

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^x.de [NC]
RewriteRule (.*) http://www.y.de/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*).x.de [NC]
RewriteRule (.*) http://$1.y.de/$2 [R=301,L]
Die ersten zwei Zeilen funktionieren die zwei unteren funktionieren nicht, bzw. die lezte da die Variable $1 unbekant ist.
Wenn es möglich ist, währe cool wen das auch als zweizeiler das ganze zusammen gefast werden können, ist aber einwunsch :)

Re: Doman & SubDomain weiterleiten mit htaccess über Rewrite

Verfasst: 26.12.2010 21:07
von gn#36
Ich würde sagen das hautpsächliche Problem ist, dass die in den RewriteCond angelegten Variablen nicht per $ sondern per % angesprochen werden, das $ ist für die Variablen die in der RewriteRule gefüllt werden. In deinem Fall wird also z.B. sub.x.de ersetzt durch sub.x.de.y.de, wenn es nicht komplett fehlschlägt, weil es $2 überhaupt nicht gibt. Vielleicht eher so:

Code: Alles auswählen

    RewriteCond %{HTTP_HOST} ^x\.de [NC]
    RewriteRule (.*) http://www.y.de/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^(.*)\.x\.de [NC]
    RewriteRule (.*) http://%1.y.de/$1 [R=301,L]
Es kann aber gut sein, dass da noch mehr Anpassungen notwendig sind, mein Ansatz wäre auch eher in dieser Richtung:

Code: Alles auswählen

RewriteRule ^x\.de/(.*)$ http://www.y.de/$1 [R=301,L,QSA]
RewriteRule ^([^.]*)\.x\.de/(.*)$ http://$1.y.de/$2 [R=301,L,QSA]