
Ich bin für eine Site verantwortlich, die Apache 2.0 auf Red Hat 4.1.2 verwendet.
Ich habe die Site so konfiguriert, dass eine benutzerdefinierte Fehlerseite angezeigt wird, indem ich der .htaccess-Datei im Stammverzeichnis der Site diese Zeile hinzugefügt habe:
ErrorDocument 403 /403.html
Ich habe zum Testen meine eigene IP-Adresse in der Site-Anwendung blockiert. Das Ergebnis in der .htaccess-Datei ist ungefähr Folgendes (ich habe die Liste der Kürze halber bearbeitet und die IPs geändert):
SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP
Wenn ich versuche, von einer „schlechten“ IP-Adresse auf die Site zuzugreifen, erhalte ich die benutzerdefinierte Fehlerseite, wenn ich versuche, eine bestimmte Seite aufzurufen (z. B.http://example.com/index.html).
Wenn ich jedoch versuche, nur das Stammverzeichnis abzurufen (zum Beispielhttp://example.com), dann erhalte ich stattdessen die Apache-Testseite.
Gibt es eine Möglichkeit, das Stammverzeichnis der Site mit der benutzerdefinierten Fehlerseite zum Laufen zu bringen?
EDIT: Ich glaube, ich habe für Verwirrung gesorgt. Zur Klarstellung:
- Wenn ich versuche, die Stamm-URL abzurufen, wird die Stammseitenichtbedient; ich erhalte die Seite mit dem Hinweis: „Wenn Sie diese Seite lesen können, bedeutet das, dass der auf dieser Site installierte Apache-HTTP-Server ordnungsgemäß funktioniert.“ Ich werde also wie erwartet blockiert, erhalte aber nicht die 403-Fehlerseite.
- wenn ich versuche, etwas unterhalb der Wurzel zu bekommen, bekomme ich meine benutzerdefinierte 403.html-Seite
AKTUALISIEREN:
Ich habe dies auf einer neueren Apache-Version (2.2.25) versucht. Ich habe es auch versuchtohnedie ErrorDocument-Direktive oder SetEnv-Zeug. Die .htaccess-Datei enthältnurdiese 3 Zeilen:
order allow,deny
allow from all
deny from 0.0.0.0
wobei 0.0.0.0 durch meine tatsächliche IP-Adresse ersetzt wird.
Das Ergebnis ist das gleiche: Beim Abrufen von example.com erhalte ich die Apache-Testseite „Wenn Sie dies lesen können“, und beim Abrufen von example.com/x erhalte ich die integrierte Seite „Verboten … Sie haben keine Berechtigung, auf diesem Server auf /x zuzugreifen“.