mod_rewrite mit allen Unterordner auf neue Domain

Sticko

Cadet 2nd Year
Registriert
Nov. 2011
Beiträge
23
Moin zusammen,

ich habe da ein kleines Problem mit mod_rewrite .. Ich habe eine domain http://www.alte-domain.de die ich inklusive aller Unterordner und -seiten auf http://www.neue-doimain.de umziehen möchte .. Kniffelig dabei (wie ich finde) ist, dass die jeweiligen Unterordner und -seiten auf www.alte-domain.de weisen sollen. Aber bisher bekomme ich es nur so hin, dass die Domainweiterleitung mir die Ordnerstruktur der alten Domain übergibt. Die hat sich aber auf der neuen Domain komplett geändert.
Durch die Ordnerstruktur der alten Domain wäre es ein riesiger Aufwand alle Seiten, bzw Ordner einzeln in die .htaccess aufzunehmen.
Gibt es nicht eine andere Möglichkeit von http://www.alte-domain.de/unterordner/file.html direkt auf http://www.neue-domain.de zu kommen (und das für alle Dateien gleichermaßen?)

Bei diesem Eintrag in der .htaccess auf www.alte-domain.de
Code:
Redirect 301 / http://www.neue-domain.de/index.html
kommt dann bei Eingabe von zB dieser URL
Code:
http://www.alte-domain.de/unterordner/test.html
aktuell ja das hier raus:
Code:
http://www.neue-domain.de/index.htmlunterordner/test.html
aber eigentlich soll das hier bei rauskommen:
Code:
http://www.neue-domain.de/index.html

Und das eben für alle Unterordner und -seiten unter www.alte-domain.de

Denn die Ordnerstruktur ist völlig unterschiedlich bei den beiden Domains.

Ich hoffe ihr könnte mir da weiterhelfen ;)
Ergänzung ()

Ich habe im Netz noch diesen Eintrag gefunden:
Code:
Beispiele RewriteCond und RewriteRule:
Alle nicht existierenden URLs umleiten:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.zieldomain.tld/$1 [R=301,L]

hätte sowas nicht den gleichen Effekt? also dass alle Seiten auf der alten Domain (sofern man die Seiten dort löscht), wenn sie nicht gefunden werden auf die neue Domain verweisen?
 
Zeig uns mal die alte Ordnungsstruktur und die neu wenn beim umbenennen nicht ne gewisse Logik dahinter steckt wirst du jeden Ordner einzeln eintragen müssen.
 
Mit

Code:
RewriteEngine ON
RewriteRule ^(.*)$ http://www.neue-domain.de/$1 [R=301,L]

wird jeder Aufruf von http://www.alte-domain.de/irgend/etwas.html auf http://www.neue-domain.de/irgend/etwas.html weitergeleitet. Aber so wie ich verstehe möchtest du das nicht, weil die Seitenstruktur beider Domains nicht übereinstimmt.

Mit der folgenden Regel wird jede Anfrage wie zum Beispiel http://www.alte-domain.de/irgend/etwas.html immer auf http://www.neue-domain.de/ weitergeleitet.

Code:
RewriteEngine ON
RewriteRule ^.*$ http://www.neue-domain.de/ [R=301,L]

Hab ich dich nun richtig verstanden?
 
Wenn es nach der Ordnerstruktur geht will ich die Inhalte der alten Domain ja eh löschen - die Links die im Netz vorhanden sind sollen aber nicht ins Leere laufen.
Eine Logik ist hinter der Struktur auch nicht, weil es eine statische Seite war und lauter Ordner und Unterordner vergeben sind, die keine weitere Logik beinhalten.

Die Idee von Karol_ habe ich ausprobiert, aber da gibt es dann einen 500er-Fehler, wenn man eine der Seiten aufruft (selbst die Domain alleine wird mit Fehler 500 angezeigt).

könnte der Code auch wie folgt aussehen?


Code:
    RewriteEngine ON
    RewriteRule ^(.*)$ http://www.neue-domain.de/ [R=301,L]


Edit:
Warum ich den Fehler 500 bekomme ist mir jetzt auch klar .. unser Admin hatte mod_rewrite gar nicht aktiviert ^^
Ich muss das mal aktivieren lassen und nochmal testen
Ergänzung ()

Das Problem ist jetzt gelöst :)
Mit folgendem Code habe ich alle Unterseiten eingebunden:
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)alte-domain.de [NC]
RewriteRule ^(.*)$ http://www.neue-domain.de/index.html [L,R=301]

Thank you very much :)
 
Zuletzt bearbeitet:
Zurück
Oben