Seite 1 von 1

Spezieller 301 Redirect mit unterschiedlicher Seitenstruktur

Verfasst: 25.07.2012, 11:13
von tomybyte
Ich habe eine spezielle Aufgabenstellung zur Umleitung von einem nicht mehr bestehenden Internetauftritt zu einer neu gestalteten Website. Das Thema der Website ist sehr ähnlich. Inhalt, Darstellung und vor allem die Seitenstruktur der neuen Website sind aber teilweise anders als auf der nicht mehr vorhandenen. Bei Google wird aber zu wichtigen Suchworten die alte Website mit Unterseiten gelistet. Die Aufgabenstellung ist nun einen 301 Redirect einzurichten, der die alten Unterseiten zu den vergleichbaren Unterseiten des neuen Webauftritts permanent weiterleitet. Für alle anderen Unterseiten und die Domain selbst soll ebenfalls ein permanter Redirect verwendet werden. Vom Prinzip also so:

Leite alte Domain auf neue Domain um (und zwar sowohl mit www. als auch ohne www.)
Leite alle Unterseiten der alten Domain auf gleichlautende Unterseiten der neuen Domain um
mit Ausnahme von folgenden Unterseiten.

Für eine .htaccess-Datei habe ich das entsprechend formuliert:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^alter-domain-name.de
RewriteRule (.*) http://www.neuer-domain-name.de/$1 [R=301,L]

RedirectPermanent /alteSeite1.html  http://www.neuer-domain-name.de/SeiteA.html
RedirectPermanent /alteSeite2.html  http://www.neuer-domain-name.de/SeiteB.html
...
RedirectPermanent /alteSeiteN.html  http://www.neuer-domain-name.de/SeiteZ.html
Das funktioniert leider nur fast.
Alles wird korrekt weitergeleitet nur, wenn man www.alter-domain-name.de verwendet, dann erfolgt keine Umleitung auf die neue Domain. Die Unterseiten-Weiterleitung funktioniert allerdings mit und ohne www.
Der Webserver (Webhostingpaket) ist so konfiguriert, dass sowohl www.alter-domain-name.de als auch alter-domain-name.de auf das gleiche Unterverzeichnis zeigen, in welchem die .htaccess Datei liegt.

Als temp. Lösung habe ich nun eine index.html Datei in dieses Verzeichnis gelegt mit einer Meta-Refresh 0 Umleitung zum neuen Domainnamen, damit wird dann auch www.alter-domain-name.de korrekt weitergeleitet ist aber kein 301 Redirect.

Hat jemand eine bessere Idee / Rat / Lösung?

Danke und Grüße

Tom

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Re: Spezieller 301 Redirect mit unterschiedlicher Seitenstru

Verfasst: 25.07.2012, 11:51
von Melegrian
tomybyte hat geschrieben:Leite alte Domain auf neue Domain um (und zwar sowohl mit www. als auch ohne www.)

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^(www\.)?alter-domain-name.de$ [NC]
RewriteRule (.*) http://www.neuer-domain-name.de/$1 [R=301,L]

RedirectPermanent /alteSeite1.html  http://www.neuer-domain-name.de/SeiteA.html
RedirectPermanent /alteSeite2.html  http://www.neuer-domain-name.de/SeiteB.html
...
RedirectPermanent /alteSeiteN.html  http://www.neuer-domain-name.de/SeiteZ.html

Verfasst: 25.07.2012, 14:28
von tomybyte
So eine ähnliche Konstruktion hatte ich schon ausprobiert, dann werden zwar die Domains mit den regulären Seiten korrekt umgeleitet, jedoch nicht mehr die speziellen.

Jetzt wird z.B. die spezielle Unterseite:
www.alter-domain-name.de/alteSeite1.html
nach
https://www.neuer-domain-name.de/alteSeite1.html
umgeleitet, doch da es die nicht gibt, kommt Fehler 404.

Noch andere Lösungsvorschläge?

Aber Danke Melegrian für deine Antwort.

Verfasst: 25.07.2012, 14:44
von Melegrian
Dann leite die zuerst um:

Code: Alles auswählen

RedirectPermanent /alteSeite1.html  http://www.neuer-domain-name.de/SeiteA.html
RedirectPermanent /alteSeite2.html  http://www.neuer-domain-name.de/SeiteB.html
RedirectPermanent /alteSeiteN.html  http://www.neuer-domain-name.de/SeiteZ.html

RewriteCond %{HTTP_HOST} ^(www\.)?alter-domain-name.de$ [NC]
RewriteRule (.*) http://www.neuer-domain-name.de/$1 [R=301,L]
Verstehe aber gerade nicht warum die Redirects nicht funktionieren.

Verfasst: 25.07.2012, 16:03
von tomybyte
Das ganze Problem scheint mit dem Hoster zusammenzuhängen. Dieser verlangt. dass für einen Account Webserver angelegt werden mit www.mein-domain-name.de bzw mein-domain-name.de (ohne www), damit diese auf ein htdocs Verzeichnis zeigen können, sonst zeigt die Domain auf ein übergeordnetes nicht zugängliches Verzeichnis (tolle Konfiguration, Anmerkung: Den Hoster hatte mein Kunde schon ausgesucht und gebucht)

Aber ich habe jetzt dafür eine Lösung gefunden und sie funktioniert. Hab das jetzt mehrfach getestet und das ist sehr haarig, da man peinlichst darauf achten muss, dass in Chrome vor jeder Änderung der Cache geleert ist und das geht bei mir nur, wenn ich Chrome schließe und das Cache Verzeichnis leere (mache das mittlerweile mit einer Batch-Datei, aber auch FF benötigt zumindest die Ausführung des Cache-Leeren Befehls):

Die Lösung ist:
Zuerst habe ich für www.alter-domain-name.de ein Unter-Verzeichnis angelegt und zeigt jetzt auf /htdocs/mit_www entsprechend für alter-domain-name.de, welches jetzt auf /htdocs/ohne_www zeigt. In beiden Verzeichnissen liegt die gleiche .htaccess-Datei, die ganz ohne Rewrite auskommt und nur RedirectPermanent benötigt:

Code: Alles auswählen

RedirectPermanent /alteSeite1.html  http://www.neuer-domain-name.de/SeiteA.html 
RedirectPermanent /alteSeite2.html  http://www.neuer-domain-name.de/SeiteB.html 
...
RedirectPermanent /alteSeiteN.html  http://www.neuer-domain-name.de/SeiteZ.html 
RedirectPermanent / http://www.neuer-domain-name.de/
Danke Melegrian für Deine Bemühungen. (Übrigens: Dein letzter Vorschlag hat wahrscheinlich aus den o.g. Gründen nicht funktioniert) :)

Gruß

Tom

Verfasst: 25.07.2012, 18:51
von Melegrian
Zum Aufräumen zwischen zwei Tests benutze ich den CCleaner. In der ersten Zeit bin ich mal zu fehlerhaften Resultaten gekommen, weil ich es noch nicht regelmäßig tat. Den Rest verstehe ich so halb, irgendwie aber auch nicht ganz richtig. Eigentlich müssten ja dann für mit und ohne www zwei VirtualHosts angelegt worden sein, wobei das mit/ohne ja mehrheitlich nur mit Alias geregelt wird:

ServerName example.com
ServerAlias www. example.com

Na ja, ist egal, wichtig ist ja nur, dass es jetzt funktioniert.