Doman & SubDomain weiterleiten mit htaccess über RewriteRule

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Mafia GmbH
Mitglied
Beiträge: 355
Registriert: 13.10.2003 16:09

Doman & SubDomain weiterleiten mit htaccess über RewriteRule

Beitrag 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 :)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Doman & SubDomain weiterleiten mit htaccess über Rewrite

Beitrag 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]
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“