Nur indizierte Seite weiterleiten

Steffen Giers

Erfahrenes Mitglied
Ich habe die alte Version meiner Seite in ein anderes Verzeichniss verschoben welches nun über eine Subdomain erreichbar ist. Die eigentlichen Umleitungen habe ich auch erledigt und soweit ich das beurteilen kann funktioniert auch alles.

Links aus dem SuMa-Inizes die (noch) auf das alte Verzeichniss zeigen werden beim Aufruf korrekt auf die Subdomain mit dem Status 301 weitergeleitet. Aber nun kommt das eigentlich Problem. Auch Aufrufe der Startseite werden auf die Subdomain weitergeleitet. Erreichen wollte ich das nur die schon indizierten Links weitergeleitet werden.

Ich meine klar... woher soll der Apache wissen welche Seite indiziert sind und somit weitergeleitet werden sollen.

Hier mal der relevante Teil der .htaccess:
Code:
RewriteEngine On
RewriteBase /

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

RewriteCond %{HTTP_HOST} ^domain.de
RewriteRule (.*) http://v1.domain.de/$1 [R=301,L]
Die .htaccess macht ja was ich dem Apache sage aber ich habe keine Lust für jeden Link selbst Hand anlegen zu müssen.

Gruß Steffen
 
Dann mach doch einfach Folgendes:
Code:
RewriteCond %{HTTP_HOST} ^v1\.example\.com$
RewriteRule ^. http://v1.example.com%{REQUEST_URI} [R=301]
Damit darf der URL-Pfad nicht „leer“ (also ungleich „/“) sein.
 
Den Gedanken hatte ich auch. Nur was passiert wenn eine SuMa den neuen Content Indiziert? Genau... dann geift die Umleitung, zeigt aber ins 404 Nirvana.

Eigentlich sollen nur die schon bestehenden Verweise weitergeleitet werden aber nicht die dann neu indizierten. Ich vermute ich werden mir dann wohl ein kleines Programm basteln müssen was die entsprechenden Weiterleitungen generiert.

Allerdings stellt sich mir dann die Frage nach der Performance. Ich denke das 100-200 Weiterleitungen kein Problem darstellen aber sowas kann kann man doch nicht allen ernstes mit 2000, 3000 Urls machen.
 
Ich verstehe nicht genau, was du meinst. Wieso sollte es nicht reichen, einfach auf die neuen Adressen weiterzuleiten? Dabei ist es doch völlig egal, ob diese bereits indiziert wurden oder nicht. Das ändert doch nichts daran, dass nur die neuen gültig sein sollen.
 
Also alles was bisher unter http://www.domian.com oder domain.com zu erreichen ist soll künftig unter v1.domain.com erreichbar sein. Dazu setzte ich eine Weiterleitung auf die neue Ressource mit dem Status 301.

Gleichzeitig soll aber unter http://www.domian.com bzw. domain.com eine neues Projekt mit anderen Inhalten entstehen. v1.domain.com soll quasi eine alte (aber weiterhin zugängliche und erreichbare) Version der neuen Seite sein. Suchanfragen und Verweise zum alten Content sollen weiterhin auf den Inhalt der alten Seite zeigen.
 
Das ist nicht möglich. Es sei denn du hast einen Index derjenigen URL-Pfade der alten Website, die weitergeleitet werden dürfen/müssen.
 
Du könntest dass vielleicht über ErrorDocument 404 erledigen.

Dein ErrorDocument lässt du die REQUEST_URI auslesen.
Es prüft dann, ob das gesuchte Dokument unter der neuen Domain verfügbar ist, falls ja, leitet es dorthin um, wenn nicht, gibt es eine Fehlermeldung aus.

Wichtig dabei: Lasse das Error-Document vor der Umleitung den 301-Header senden, damit die SuMas nicht denken, dass es das Dokument nicht mehr gibt.

Vorraussetzung dafür wäre allerdings, dass sich die Dateinamen deines alten Projektes von denen des neuen Projektes unterscheiden.
 
Das habe ich vermutet und eigentlich ist das auch logisch. Woher soll der Webserver wissenn welche Verweise redirected werden sollen und welche nicht?!

Den Index kann ich mir generieren lassen. Es wird doch jedes mal wenn eine Anfage kommte die .htaccess verarbeitet. Wie sieht das da mit der Performance aus?

@Sven
Die Dateinamen unterscheiden sich schon alleine in der Verzeichnissstruktur. Ich muss mal über deinen Vorschlag nachdenken.
 
Zuletzt bearbeitet:
Das lässt sich schwer beurteilen. Probier es einfach mal aus und überflute den Server mit Anfragen (beispielsweise mit ab), um zu sehen, wie er sich verhält.
 
Uiuiui... da gibts bestimmt Ärger mit dem Admin. Der Server läuft leider Produktiv und die Kollegen haben keinen Beta- bzw. Testserver laufen.

Puh... na mal gucken. Erstmal danke ich euch für die kompetente Hilfe...
 
Zurück