[quote=“FoolMoon”]Bei Redirect 1 hab ich früher eine Datei umbenannt und möchte das diese noch unter den alten Namen verfügbar ist.
Bei Redirect 2 sind mehrere Dateien die anfangs einfache HTML Dateien waren und mittlerweile zu PHP Dateien umgebaut wurden.[/quote]
Der Einzelfall #1 mag noch vertretbar sein;
die Fälle #2 sind es schon weniger bis gar nicht mehr. Damit hast du nämlich die Richtlinie Cool URIs don’t change verletzt. Sinnvoller wäre es gewesen, hier einfach dafür zu sorgen, dass auch die betreffenden Dateien mit der Endung .html per PHP geparst werden.
Absoluter Unfug.
Ich finde einen Verweis auf eine deiner Unterseiten per Suchmaschine, klicke darauf - und werde auf deine Startseite umgeleitet. Dort finde ich nicht das, wonach ich gesucht habe - und bekomme nicht mal einen Hinweis darauf, dass der betreffende Inhalt nicht mehr verfügbar ist. Stattdessen sehe ich die Inhalte deiner Startseite, kann mir aber absolut nicht erklären, was die mit dem zu tun haben sollen, wonach ich explizit gesucht habe.
Als Nutzer „lerne” ich daraus, dass es sich auch bei weiteren Suchergebnissen, die auf deine Seite bzw. Domain verweisen, nicht lohnt, diese überhaupt aufzurufen - ich werde ja vermutlich wieder Inhalt präsentiert bekommen, der mit dem von mir gesuchten wenig bis gar nichts zu tun hat. Immerhin hast du mir bei meiner vorherigen Suche gerade gezeigt, dass deine Site eine von denen ist, die sich derart dumm verhalten.
In einem vernünftigen 404-Dokument - welches unter der Adresse ausgeliefert wird, die ich angefordert habe, ohne unsinnige „Weiterleitung” irgendwo hin - da könntest du mir noch erklären, dass es dir Leid tut, dass der von mir gewünschte Inhalt nicht mehr verfügbar ist; und mir ggf. sogar noch ein paar Alternativen verlinken, die mich vielleicht stattdessen interessieren könnten.
Das würde für mich als Nutzer kein Frustrationserlebnis bedeuten, wie das obige Vorgehen; die Chancen, dass ich deine Seite bei einer anderen Suche noch mal aufrufe, sind wesentlich höher.
Und noch zu der Frage, wie Suchmaschinen darauf reagieren:
Durch die Weiterleitung und anschliessende Auslieferung der Startseite mit dem HTTP Statuscode 200 OK nimmst du dem Bot auch noch die Möglichkeit zu erkennen, dass überhaupt ein Fehler vorliegt - einen Statuscode 404 oder 410 bekommt er dadurch ja gar nicht mehr zu sehen. Die Suchmaschinen haben sich zwar Möglichkeiten überlegt, diese Unkenntnis über den halbwegs korrekten Umgang mit HTTP durch den Seitenbetreiber zu erkennen - aber warum sollte man sich auf so etwas verlassen, statt es gleich vernünftig zu machen?
(Btw., ich erwähne 410 neben 404 nicht zufällig - über den Unterschied zwischen den beiden und wann welcher zu benutzen ist, sollte man sich bewusst werden, sofern es nicht schon klar ist.)
Und zur generellen Vorgehensweise sollte man sich auch bei Dokumenten, die jetzt ein neues Ziel haben, überlegen, wo man darauf reagieren will.
Bei einer handvoll Adressen mag es noch OK sein, die per mod_rewrite “umzubiegen”. Man sollte sich aber klar machen, dass diese RewriteRules auch bei jedem anderen Request (Bilder, CSS, JS) erst mal abgearbeitet werden müssen, was leicht unperformant werden kann.
Es ist also oftmals günstiger, per ErrorDocument 404 ein Script einzusetzen, welches nur bei nicht gefundenen Inhalten aktiv werden muss. Dieses Script kann sich dann anschauen, welche Adresse angefordert wurde, und dann ggf. eine Umleitung auf die neue Adresse machen; oder bei den wirklich nicht vorhandenen Inhalten ein sinnvolles 404-Antwortdokument ausgeben, siehe oben.