Wie übergebe ich den korrekten HTTP-Statuscode bei meiner 404-Fehlerseite?

Eine 404-Fehlerseite ist HTML-Dokument, das beliebig gestaltet werden kann und Besuchern wie auch Crawlern mitteilt, dass es eine Seite nicht (mehr) gibt. Doch wie übergibt man den korrekten Statuscode?

Bei einer selbst gestalteten Fehlerseite gilt es zu berücksichtigen, dass der korrekte HTTP-Statuscode ausgegeben wird. In diesem Artikel geht es um den HTTP-Statuscode 404. Die folgende Abbildung zeigt das HTML-Markup einer 404-Fehlerseite im Quellcode:

Quellcode: HTML-Markup einer 404-Fehlerseite

Den gewünschten HTTP-Statuscode übergeben wir mit Hilfe des folgenden PHP-Codes:

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

Wird auf dem Webserver PHP nicht als Apache-Modul, sondern als FastCGI ausgeführt, so muss die Angabe „HTTP/1.1“ im PHP-Code durch „Status:“ ersetzt werden.

Das HTML-Dokument unserer Fehlerseite wird um diese drei Zeilen PHP-Code oberhalb des HTML-Markups ergänzt:

Quellcode: HTML-Markup einer 404-Fehlerseite mit HTTP-Statuscode

Um sicherzustellen, dass der PHP-Code korrekt interpretiert wird, ändern wir die Dateiendung von .html auf .php. Für den Webserver handelt es sich somit um ein klassisches PHP-Dokument.

Im letzten Schritt müssen wir in der .htaccess-Datei den Verweis zu unserem Fehlerdokument eintragen.

In eine leere Zeile der .htaccess-Datei wird folgendes eingetragen:

ErrorDocument 404 /unterordner/404.php

Existiert noch keine .htaccess-Datei im Hauptverzeichnis (root) des Webhosts, so kann diese einfach erstellt werden.

SISTRIX Experten-Video

01.12.2022