...Werde Fan von Starker Rücken bei Facebook Bandscheiben auf Twitter


Falscher Status bei 404-Fehler

20. September 2007 von Christoph Weigand  
Abgelegt unter: Blogging, SEO

Bei der Erstellung meiner Antwort auf die 404 Statusmeldung habe ich einen entscheidenden Fehler produziert, den ich nicht unerwähnt wissen möchte.

Michael machte mich gestern per Mail darauf aufmerksam, daß sich Oliver von fob marketing in einem ausführlichen Artikel mit dem Thema Fehlerseite beschäftigt hat.

Daraufhin überprüfte ich mit dem dort angegebenen Tool den HTTP Status Code und mußte feststellen, das meine selbsterstellte Fehlerseite den Status 200 zurückmeldet (also: kein Fehler, Seite vorhanden, bitte in den Index damit). Darf sie aber nicht, denn den Suchmaschinen soll mitgeteilt werden, daß aaO eine solche URL nicht existiert.
Im Blog ist das übrigens kein Problem, die 404.php liefert automatisch einen “richtigen” Status-Code aus.

Jetzt wüßte ich nur gerne, wie ich meine selbsterstellte Seite dazu bewegen kann, den entsprechenden Status auszuliefern. Ein einfaches

ErrorDocument 404 http://www.MeineDomain.de/fehlerseite

in der .htaccess genügt in diesem Fall scheinbar nicht, zumindest bekomme ich weiterhin einen Status 200 nach Umleitung angezeigt.
Die Weiterleitung habe ich jetzt entfernt und es erscheint wieder die 08/15-404. Prinzipiell kann aber doch auch auf die 404.php aus dem Blog weitergeleitet werden, denn dort kommt ja der richtige Status !?
In den gängigen Foren bin ich leider bisher zu dieser Fragestellung nicht fündig geworden. Überall wird lediglich o.g. Lösung für die .htaccess präsentiert.

Kommentare:

7 Kommentare zu “Falscher Status bei 404-Fehler”
    • Oliver sagt:

      Hallo, Du kannst eigentlich eine beliebige Seite erstellen, diese mit der Endung .php abspeichern und oben drüber dann durch Einfügen eines kleinen PHP-Schnippsels den 404-Header versenden:

      <?php header("HTTP/1.1 404"); ?>

      Auf diese Seite kann man dann getrost wieder weiterleiten, wie oben beschrieben. Habe ich vielleicht in meinem Error-404-Artikel nicht gut genug erklärt. Sorry.

    • Klasse, danke Oliver.
      Ich bekomme jetzt eine
      #1 301,
      #2 302
      und abschließend als
      #3 ein 404
      angezeigt. Ist das so in Ordnung ?
      Eigentlich ist doch nur die eine Weiterleitung drin – warum dann 301 und 302 ?

    • Oliver sagt:

      Witzige Variante:

      Bei Deinem Server hast Du offenbar eine Weiterleitung auf:
      “http://www.starker-ruecken.com/fehlerseite” eingerichtet. (302)

      Diese wird vom nächsten Rewrite abgefangen, das scheinbar dafür sorgen soll, dass keine Seiten ohne Slash (“/”) am Ende aufgerufen werden. (Bestens mit 301 ausgestattet.)

      Und schließlich landet der Bot dort, wo er eigentlich landen soll, nämlich auf der 404-Seite. ;-)

      Eigentlich ein bisschen viel Holz für den Server. Andererseits aber fast noch besser als der normale Weg, weil der zwischengeschaltete 301er mitteilt, dass die Seite dauerhaft verzogen ist und nicht nur vorübergehend. Wenn der Bot beim 404er noch ankommt wäre das eigentlich der perfekte Trick, um den “Apache-302-Fehler” auszugleichen.

      Schwer zu sagen, ob es nun besser ist, direkt auf “…/fehlerseite/” zu leiten oder den 301er dazwischen stehen zu lassen. ;-)

    • Naja – um Mißverständnisse zu vermeiden, habe ich den Slash noch angehängt ;-)
      Jetzt nur noch mit 302er auf 404 :-)

    • Oliver sagt:

      Allerdings kann es auch passieren, dass der Server lediglich vorübergehend nicht erreichbar ist und nur deshalb die Seite nicht laden kann. Dann wäre der 301er falsch und kann unter Umständen ungewollte Folgen haben. Ich persönlich würde deshalb lieber direkt auf die “Slash-Variante” weiterleiten.

    • Oliver sagt:

      Yep, prima. ;-)

Hier kannst Du kommentieren:

Teil mir Deine Meinung zu diesem Artikel mit:

Vielleicht von Interesse für Dich: