Hallo Martin,
Aber selbst wenn diese Zeilen wirksam sind: Ein ErrorDocument sollte man nicht per HTTP/HTTPS abholen lassen. Dann holt sich der Browser das ErrorDocument nämlich als ganz normales Dokument und bekommt es mit Status 200 (OK). Also genau nicht das, was man will.
Ich bin kein Indianerhäuptling und meine Reaktion war: Hä? Was meint er?
Darum habe ich mich schlaugebingt und finde in der Apache Doku diese Ergänzung (fett wie im Original). Ich nehme an, das hilft auch anderen, die noch den Häuptlingslehrgang vor sich haben.
Wenn Sie eine ErrorDocument-Anweisung angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der Methode http davor), beachten Sie bitte, dass der Apache eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum gleichen Server führt. Das hat mehrere Auswirkungen. Die wichtigste ist, dass der Client nicht den Original-Statuscode erhält sondern statt dessen einen Umleitungs-Statuscode. Dies wiederum kann Web-Robots und andere Clients verwirren, die den Statuscode dazu verwenden, herauszufinden ob eine URL gültig ist. Wenn Sie eine entfernte URL in einer Anweisung ErrorDocument 401 verwenden, wird der Client darüber hinaus nicht wissen, dass er den Benutzer zur Eingabe eines Passwortes auffordern muss, da er den Statuscode 401 nicht erhält. Deshalb müssen Sie sich auf ein lokales Dokument beziehen, wenn Sie eine Anweisung ErrorDocument 401 verwenden.
Also schlecht ist:
ErrorDocument 401 https://my.example.org/fehler401.html
Und gut ist:
ErrorDocument 401 /fehler401.html
Edit: Name der Fehlerseite korrigiert
Rolf
sumpsi - posui - obstruxi