Julian Hofmann: Apache htaccess ErrorDocument

Beitrag lesen

Hallo Paul,

habe jetzt mal in meinen Mails gewühlt und die Antworten voNS chlund gesucht. Mich hat's damals (April 2002) nicht wirklich weitergebracht, vielleicht hilft's Dir ja.

--schnipp--

Lage:
Die Domain xyz.de liegt im Verzeichnis /homepages/.../htdocs/xyz.de/
Ebenso die .htaccess mit Inhalt "ErrorDocument 404 /404.php" und die
Datei 404.php (alalog bei Endung .html)

Problem:
Löse ich nun einen Fehler 404 durch Anforderung einer Datei mit Endung
.html, .htm oder fehlerhaften Verzeichnis aus, so ist alles in Ordnung.
Löse ich den Fehler durch eine Datei mit Endung .php aus, so bekomme
ich die Standard-Fehler500-Meldung.
Löse ich den Fehler mit endung .php3 aus, so bekomme ich die
Rückmeldung "Fatal error: Unable to open
/homepages/.../xyz.de/fehlendeDatei.php3 in - on line 0
No input file specified."

Wo ist hier der Fehler?

Das Problem besteht darin, dass der PHP-Parser eine Datei ausführen möchte,
sobald diese die Endung .php oder .php3 hat. Da die Datei nicht vorhanden
ist, wird diese als Fehlerhaft interpretiert. Leider gibt es keine
Möglichkeit, hier die Fehlermeldung "404" dazwischen zu schalten.

Dies würde aber den Sinn der Error-Codes (speziell 404) ziemlich in Frage
stellen. Auch sollte doch dann zumindest der neue Fehler (500) mit dem
entsprechend festgelegten ErrorDocument 500 abgefangen werden statt mit der
Standard-Meldung von Schlund. Und warum löst nur PHP4 einen Fehler 500 aus,
PHP3 hingegen einen Fatal Error?

Dies liegt an der Konfiguration von PHP3, offensichtlich kann der Fehler
hier nicht von unserer Standard-Fehlermeldung abgefangen werden.
--schnapp--

Da ja die Variante mit php4- und php3-Dateien (die den Fehler auslösen) und einem Eintrag in die htaccss lösbar sind, kam mir die Antwort ziemlich merkwürdig vor. Ich hatte auch nicht wirklich den Eindruck, dass das Problem den Support von Schlund interessiert bzw. sie das Problem verstanden haben. Naja, so hab ich's dann sein gelassen weiter nachzubohren.

Grüße aus Würzburg
Julian