ErrorDocument-Direktiven in .htaccess-Dateien
Tron
- webserver
Hallo nochmal,
habe noch ein .htaccess-Problem:
habe im Stammverzeichnis eine .htaccess-Datei mit folgenden Anweisungen:
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
Funktioniert auch einwandfrei.
Wenn nun aber eine fehlerhafte URI in einem UNTERVERZEICHNIS aufgerufen wird, wird zwar die 404-Seite angezeigt, aber alle Grafikreferenzen, die relativ und nicht absolut eingebunden sind, sind fehlerhaft, weil sie sich auf das UNTERVERZEICHNIS beziehen, in dem ja die Grafiken NICHT verfügbar sind.
Beispiel:
404-Seite bei Stammverzeichnis:
http://seber-rider.de/favicon.uco
404-Seite bei UNTERVERZEICHNIS:
http://seber-rider.de/test/favicon.uco
Ist hier das Problem nur mit absoluten Pfadangaben zu lösen oder gibts hier wieder einen mir nicht bekannten Trick?
Hallo,
Ist hier das Problem nur mit absoluten Pfadangaben zu lösen
Wenn Du auf korrekte HTTP-Statuscodes wert legst: Ja.
Anosnsten kannst Du natürlich auf die Fehlerseite weiterleiten lassen, dann erhält der Browser einen Status 302 (Redirect) und der Browser zeigt dann die Fehlerseite direkt an. Hat aber zwei Nachteile:
* Programme, die versuchen, Statuscodes zu interpretieren, erkennen
keinen Fehler und denken, die Seite existiert, nur am Ort der Fehlerseite.
* Bei 401 geht das nicht, weil 401 ja vom Browser interpretiert werden
*SOLL*, damit er eine Aufforderung anzeigt. Wenn Du das für 401
einrichtest, bricht die ganze Anmeldefunktionalität zusammen.
Wenn Du diese Nachteile in Kauf nehmen willst (ich würde das nicht tun wollen), dann gib bei ErrorDocument einen absoluten URI an (also mit http://.../).
Viele Grüße,
Christian
Hi,
Ist hier das Problem nur mit absoluten Pfadangaben zu lösen
Ja - fuer die externen Referenzen im Fehlerdokument natuerlich, nicht fuer das Fehlerdokument selber.
Absolut zur Domainwurzel referenzieren, also mit beginnendem Slash, reicht.
MfG ChrisB