Hi,
fordere ich von meinem lokalen Apachen die Ressource /nöt-found.htm an (bzw. kodiert als /n%C3%B6t-found.htm), so wird mein per ErrorDocument 404 eingestelltes Fehlerscript aufgerufen.
Wenn das Encoding jedoch nicht „stimmt”, also vom Client bspw. /n%F6t-found.htm angefordert wird - dann bekomme ich als Antwort nur ein 403 Forbidden; und das auch noch mit dem Default-403-Dokument des Apachen, nicht mit meinem per ErrorDocument 403 selbst festgelegten.
Im Error-Log findet sich dann der Eintrag
(22)Invalid argument: Cannot map GET /n%F6t-found.htm HTTP/1.1 to file
Der Apache „traut” sich also offenbar nicht, im Dateisystem Ressourcen zu mappen, die nicht zur Kodierung des Dateisystems passen, oder wie ist das zu verstehen - ein Request, der allzu „komische” Sonderzeichen enthält, könnte ja potentiell schädlich sein?
Jetzt suche ich eine Möglichkeit, ihm das abzugewöhnen. So, dass auch in solchen Fällen *mein* ErrorDocument 404 angezeigt wird.
(URL-gerechte Kodierung von Ressourcen ist hier nicht das Thema; die ist selbstverständlich an den Stellen, an denen ich es selber unter Kontrolle habe. Aber bei Verlinkungen „von aussen” ist das nun mal nicht immer der Fall, und auf diese möchte ich mit meinem Fehlerdokument und dem Status 404 reagieren können, und nicht nur mit 403 mit dem Default-Dokument des Apachen.)
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]