Es gibt verschiedene Fehlercodes, wenn eine Seite nicht vorhanden ist. Das kann passieren, wenn jemand einen Deep-Link auf eine Unterseite Ihrer Seite setzt und sich vertippt. Anstelle von http://www.webmaster-crashkurs.de/seite-gibt-es.htm wird versehentlich als Linkziel http://www.webmaster-crashkurs.de/seite-gibt-es-nicht.htm angegeben.
Jedesmal wenn ein Surfer daraufklickt, bekommt er eine Fehlermeldung vom Server. Diese Fehlermeldung kann beeinflusst werden und Sie können eine eigene Seite mit Fehlermeldung angeben, die statt der englischen (für die meisten unverständlichen) Meldung:
"Not Found
The requested URL /fehlermeldungen.htm was not found on this server."
oder
"Error 404 - Not found
Die angegebene Seite konnte nicht gefunden werden."
Legen Sie in dem Verzeichnis eine Datei mit dem Namen ".htaccess" an. Der Punkt vorneweg ist wichtig! Falls es diese Datei bereits gibt, können Sie den Inhalt der Datei ergänzen.
In dieser .htaccess-Datei wird folgende Zeile notiert:
ErrorDocument 404 /fehlermeldung-404.htm
Nun müssen Sie noch eine HTML-Seite mit dem Namen "fehlermeldung-404.htm anlegen, in der Sie den Besuchern erklären können, dass eine nicht vorhandene Seite aufgerufen wurde und am besten die Suchfunktion (die hoffentlich auf Ihrer Website vorhanden ist) zu nutzen ist, um den gewünschten Inhalt zu bekommen.
Inhalt Datei fehlermeldung-404.htm:
<h1>Sorry - zur Zeit nicht da</h1> <p>Hallo Besucher, diese Seite gibt es (noch) nicht</p>
Der Profi leitet automatisch eine E-Mail an den Admin (am besten in der Anzahl begrenzt pro Tag), damit der Admin mitbekommt, dass es ein Problem gibt.
Also geben wir nicht mehr eine HTML-Datei als Ziel des ErrorDocument 404 an sondern eine PHP-Datei, z.B.
ErrorDocument 404 /fehlermeldung.php?fehler=404
Für unseren Server während dem Kurs für die Live-Teilnehmer für die versuchsratte.de sieht der Aufruf je nach Unterverzeichnis (im folgenden Beispiel 014) wie folgt aus!
ErrorDocument 404 /014/fehlermeldung.php?fehler=404
In der PHP-Datei "fehlermeldung.php" steht dann für die E-Mail:
<?php echo "<h1>Fehler "; echo $_GET['fehler']; echo "</h1>"; echo "<p>Es wurde die nicht existierende Seite: <b>"; echo $_SERVER['REQUEST_URI']; echo "</b> angefordert"; echo "<p>Eine Nachricht an den Administrator ist unterwegs, damit dieser nach Rechten sehen kann</p>"; // echo phpinfo(); // E-Mail zusammenbauen ?>