Michael Schröpl: Apache + PHP 3/4 - Handling von Error 404 ?

Beitrag lesen

Hi,

Die Rückgaben des Schlund-Servers waren:
gibtsnicht.php ->  500 Internal Server Error
gibtsnicht.php3 -> 200 Ausgabe:
    "Fatal error: Unable to open /pfadangabe/gibtsnicht.php3 in - on line 0
    No input file specified"
Der Witz dabei: Meine lokale WAMP-Konfiguration
verhält sich exakt genau so.
Dieses Verhalten scheint insofern also "normal" zu
sein.

Hm. Also von PHP habe ich ja nun nicht so die Ahnung.
(Eher überhaupt nicht.) Und von der internen Request-Verarbeitung des Apaches weiß ich auch nicht so arg viel. Alles Nachfolgende deshalb unter äußerstem Vorbehalt ...

Letzten Endes ist PHP auch "nur" ein Apache-Modul, welches sich dafür zuständig erklärt, einen HTTP-Request zu bearbeiten - genau wie es ein CGI-Skript tun würde.

Und im Wesentlichen tut der Apache in beiden Fällen nichts anderes, als das Ergebnis aufzufangen, ein paar Pflicht-HTTP-Header zu ergänzen, falls sie fehlen (!), und das Ergebnis abzusenden.

Ich mag mich täuschen, aber ich vermute, sowohl PHP als auch das normale CGI-Skript haben die Möglichkeit, selbst einen HTTP-Statuscode zu setzen.
(Für eine Weiterleitung (302) wäre das sogar völlig normal - so ein Skript habe ich hier auch irgendwo herum liegen.)

Wenn dies aber so wäre - wieso sollte der Apache diesen HTTP-Statuscode irgendwie anzweifeln?

In der Hoffnung, einen Experten anlocken zu können,
habe ich das Thema kurzerhand angepasst.

Schlau. ;-)

Kann man die Serverkonfiguration derart ändern,
dass bei einem Request auf eine nicht existente
php-Datei eine "normale" 404-Fehlermeldung kommt

Wenn das, was ich gerade erzählt habe, kein völliger Unfug war, dann würde m. E. die Antwort "nein" lauten.

Wenn es der PHP-Interpreter wäre, der solche Statuscodes von sich gibt, dann wüßte ich spontan nicht so recht, wie (vor allem wieso!) der Apache sich da einmischen sollte (und könnte).

Genauere Informationen müßten sich in diesem Falle wohl im Quelltext des PHP-Interpreters finden lassen.

und, wenn ja, wie?

Ja, es gibt mod_headers (falls das in diesem Fall überhaupt greift) - aber versuche mal, diese Sorte der Requests sinnvoll zu beschreiben ...

Viele Grüße
      Michael