Zum Inhalt springen

Apache2.4/08/1/4 Fehlerbehandlung

Aus Foxwiki

8.1.4 Fehlerbehandlung

Eine spezielle Form der Weiterleitung stellt der Umgang mit diversen Fehlern dar, die bei der Verarbeitung von Client-Anfragen auftreten können: Schließlich meldet Apache im Fehlerfall nicht nur den entsprechenden Statuscode (z. B. 404 Not Found), sondern liefert auch ein Dokument aus, das den Fehler näher beschreibt. Welches Dokument dies für den jeweiligen Fehler sein soll, wird durch die Core-Direktive ErrorDocument festgelegt.

ErrorDocument Dokument, das bei einem bestimmten Fehler gesendet werden soll

Modul core Kontext Server, <VirtualHost>, <Directory>, <Location>, <Files>, .htaccess (FileInfo) Syntax ErrorDocument Fehlercode URL|Pfad|Meldungstext Standardwert Einfache Textmeldung für jeden Fehler

Mit dieser Direktive können Sie einstellen, welche Fehlermeldung Apache für einen bestimmten Fehlercode an den Client senden soll. Dies betrifft sowohl Anfragefehler (4xx-Statuscodes) als auch Server-Fehler (5xx-Statuscodes). Wenn Sie ErrorDocument für einen bestimmten Fehler nicht setzen, wird eine vorgegebene Textmeldung gesendet.

Sie können für jeden Fehler eine von drei möglichen Meldungsquellen festlegen:

  • Eigene Textmeldung Geben Sie dazu einen beliebigen String in Anführungszeichen an (die alte 1.3Syntax, bei der die Meldung lediglich mit einem Anführungszeichen beginnen musste, gilt nicht mehr). Beispiel:
ErrorDocument 404 "Nae, esu jet hammer aevver nit!"3
  • Interne Weiterleitung Der Wert ist ein beliebiger URL-Pfad, der relativ zur DocumentRoot ausgewertet wird. Beispiel:
ErrorDocument 500 /cgi-bin/debug.pl

Dies ist die beliebteste Verwendung von ErrorDocument – mit ihrer Hilfe können Sie die Fehlermeldungen dem Layout Ihrer Website anpassen. Beachten Sie in diesem Zusammenhang, dass der Microsoft Internet Explorer solche Dokumente nur dann anzeigt (und nicht durch seine eigenen Fehlermeldungen ersetzt), wenn sie eine bestimmte Mindestlänge haben – in der Regel liegt diese bei 512 Byte.

  • Externe Weiterleitung Als Wert wird eine externe URL angegeben, die mit http:// beginnt. Beachten Sie, dass Sie diesen Typ nicht für den Status 401 Authorization Required verwenden können, weil Browser über Domain-Grenzen hinweg keine Anmeldeinformationen anfordern. Beispiel:
ErrorDocument 403 http://im.parkverbot.de

Das Dokument für die interne Weiterleitung kann eine Type-Map sein (Header und MIME-Einstellungen). Dies ermöglicht internationalisierte Fehlermeldungsseiten. Entsprechende Dokumente, bei denen die Body-Abschnitte für die unterschiedlichen Sprachen bereits enthalten sind, werden mit Apache 2 geliefert. Sie befinden sich im Verzeichnis error unter der ServerRoot und heißen HTTP_<Fehler>.html.var, also beispielsweise HTTP_NOT_FOUND. html.var für Fehler 404. Die Standard-Konfigurationsdatei enthält bereits einige Zeilen, um sie zu aktivieren – bei Bedarf können Sie einfach das Kommentarzeichen # entfernen.