Nickolas Beck: (.htaccess) Pfad des Aufrufs bei einem 404-Fehler herausfinden

Guten Tag Forum!

Ich habe mir neulich mal das mit dem 404-Fehler-Dokumenten und den .htaccess-Dateien angesehen, ist ja ne feine Sache. Ich habe mir jetzt eine Datei namens error.php als Fehlerdokument eingerichtet, funktioniert auch alles bestens.
Nur die Frage ist jetzt: Wie bekomme ich jetzt den Pfad des Aufrufs in der error.php heraus?

Ein Beispiel:
Jemand geht auf die Seite /bla, die es aber nicht gibt, dann wird er ja zu /error.php weitergeleitet. Und jetzt will ich in der error.php eben das /bla irgendwie herbekommen.
Ich habe schon in Google und im Archiv gesucht, aber überall stand entweder, dass ich halt irgendwie den Pfad herausfinden solle, oder dass ich ja mit REQUEST_URI darauf zugreifen könnte. Aber REQUEST_URI enthält auch nur die /error.php!

Eigentlich kann es ja nicht so schwer sein, oder?

Einen schönen Abend noch,
Nicko

  1. Hast du Zugriff auf die Logdateien des Servers?
     - Dann schau mal in der "error.log" (o. ä.) nach!

    Gibt es ein vorkonfiguriertes Verzeichnis, das z. B. "/logs" heißt?
     - Dann schau da mal nach!

  2. Hallo Nickolas,

    Ich habe schon in Google und im Archiv gesucht, aber überall stand entweder, dass ich halt irgendwie den Pfad herausfinden solle, oder dass ich ja mit REQUEST_URI darauf zugreifen könnte. Aber REQUEST_URI enthält auch nur die /error.php!

    Eigentlich kann es ja nicht so schwer sein, oder?

    Du darfst nicht weiterleiten! Du musst die Anfrage auf das Dokument "lenken", darfst aber keine Weiterleitung durchführen!

    Bsp:

    1. ErrorDocument 404 /error.php

    Bei Zugriff auf http://www.example.org/bla
    => error.php wird aufgerufen, in REQUEST_URI steht /bla

    2. ErrorDocument 404 http://www.example.org/error.php

    Bei Zugriff auf http://www.example.org/bla
    => 302-Weiterleitung auf http://www.example.org/error.php wird dürchgeführt
    => Zugriff auf http://www.example.org/error.php
    => In REQUEST_URI steht /error.php

    Viele Grüße,
    Christian