Kali: richtige Fehlerseite, ? header informationen ?

wenn ich über die htacess eine Fehlerseite anlege kapiert es die Suchmaschine, wenn ich aber die Seiten über eine Datenbank zusammenstelle und die Seite nicht mehr da ist, wird eine interne Fehlerseite ausgegeben. Mein System erstrellt eine eigene html Seite in der steht, das es ein Fehler ist.

Kann ich dieser Fehlerseite auch irgendwie die Informationen mitgeben, die sie bekommen würde wenn sie über die htaccess erstellt wurde.

Kali

  1. Meine Herren!

    Kann ich dieser Fehlerseite auch irgendwie die Informationen mitgeben, die sie bekommen würde wenn sie über die htaccess erstellt wurde.

    Ja. Diese Art von Fehlern werden auf der HTTP-Schicht übertragen. Es gibt verschiedene Codes für verschiedene Fehler und auch Nicht-Fehler. 200 ist der Code, für alles okay.  500 ist der Code für einen internen Server-Fehler. Und 404 heißt beispielsweise "Seite nicht gefunden". Eine Liste der potenziellen Werte, gibt es bei Wikipedia. Um diesen Zustand zu übermitteln, kannst du die PHP-Funktion header() nutzen:

    header("HTTP/1.0 404 Not Found");

    Du solltest unbedingt den richtigen Status-Code setzen, aber speziell für Suchmaschinen bietet es sich auch an, eine robots.txt-Datei anzulegen. Die Datei wird von Suchmaschinen ausgelesen, und dort kannst du genauer bestimmen, wie die Suchmaschine womit umgehen soll. Du kannst zum Beispiel auch für ganz normale Seiten, die mit Status-Code 200 ausgeliefert werden, sagen "Ey Suchmaschine, das ist nichts für dich".

    --
    “All right, then, I'll go to hell.” – Huck Finn
    1. Ok das habe ich jetzt hinbekommen.

      Aber wenn ich meine domain mit www.domainname aufrufe
      bekomme ich:

      HTTP/1.1 200 OK

      wenn ich sie ohne www aufrufe bekomme ich

      HTTP/1.1 301 Moved Permanently

      läuft da was falsch oder ist das ok

  2. hi,

    Kann ich dieser Fehlerseite auch irgendwie die Informationen mitgeben, die sie bekommen würde wenn sie über die htaccess erstellt wurde.

    Meinst Du in .htaccess
    ErrorDocument 404 /fehlerseite.html
                      ^ hier hast Du die darzustellenden Infos selbst in der Hand

    Den HTTP-Response-Header sendet in diesem Fall der Webserver, Status: 404 Not Found

    Bei allen anderen nicht gefundenen Seiten, von denen der Webserver gar nichts weiß, kannst Du den Header selbst setzen.

    Tipp: Regele Letzteres über eine Klasse mit dem Namen NotFound

    MfG