luti: header() 404-Meldung funktioniert nicht

Beitrag lesen

Hallo,

danke für die ausführliche Antwort.

Mh ... Also, wenn ich in die error.log meines Apache schaue, dann sehe ich dort keine entsprechende Fehlermeldung!

Ich hatte ursprünglich folgendes gedacht (aber da lag ich wohl falsch): Ich sende einen 404-Header, der Server bricht ab und schaut wieder in die htaccess, was er damit machen soll. Aber auch wenn ich bei jeder x-beliebigen Seite erst mal einne 404 sende, wird die Seite normal angezeigt. Und wieder kein Log-Eintrag ...

Wenn ich aber z.B. einen URL aufrufe, die nicht durch meine RewriteRule umgeleitet wird, (und nicht existiert) erhalte ich eine "not found or unable to stat" bzw. "File does not exist" Fehlermeldung im Log.

Was ich eigentlich nur bezwecken will: Wenn eine aufgerufen Datei a) nicht der RewriteRule oder b) der Abfrage im Skipt entspricht (z.B. mehr als 1 Slash) -> sende eine Fehlermeldung und zeige eine spezielle Seite an. Wie mache ich das richtig?

Du meinst sicher "header('Location: http://example.com/fehler.html');". Der Location-Header *muss* eine absolute URL enthalten.

Stimmt, aber "manche Clients akzeptieren auch relative URIs" (bei mir der Fall ...). Werde ich ändern -> wirft eine neue Frage auf, dazu komme ich dann später.

Dank & Grüße, luti