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

Im Prinzip ist eine 404-Fehlerseite ein nach belieben gestaltetes HTML-Dokument.

Quellcode: HTML-Markup einer 404-Fehlerseite

Quellcode: HTML-Markup einer 404-Fehlerseite

Bei einer selbstgestalteten Fehlerseite gilt es zu berücksichtigen, dass der korrekte HTTP-Statuscode ausgegeben wird. In unserem Beispiel der HTTP-Statuscode „404“.

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

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

Wird auf dem Webserver PHP nicht als Apache-Modul, sondern als FastCGI ausgeführt, so muss die Angabe „HTTP/1.0“ 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

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.

Als 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.