Patrick Andrieu: Kurze frage zu .htaccess 404 fehlermeldung

Beitrag lesen

Hallo Engin!

Zunächst: Das Problem liegt nicht an Deine .htaccess sondern bei 1&1. Ich hatte nach dem Umzug zu 1&1 auch meine liebe Not mit den Error-Dokumenten. Aber dazu später:

und eine .php Datei mit dem Inhalt

<html><head>
<!-- Meta refresh um den Benutzer zur index.php weiterzuleiten -->
<meta http-equiv="refresh" content="2;url=/index.php" />
</head><body>
<strong>Text</strong>
</body></html>

  
  
Schon versucht, mit dem IE deine gibtsnicht aufzurufen? Es kommt die IE-Interne Fehlermeldung. Die internen Meldungen des IEs kommen immer dann, wenn das Error-Dokument zu klein (Dateigröße) ist. Also müsstest Du da noch ein paar Zeilen Text einbauen. Man kann sich darüber streiten, warum die Redmonder es so geregelt haben, aber einen Grund hat es schon. Lange Zeit wurde aussagekräftige Fehlerseiten vernachlässigt, und ein simples »404 not found« oder »403 Forbidden« hilft niemandem. Also hat der IE seit der Version 4, glaube ich, eigene Fehlermeldungen (die aber im Grunde auch nicht weiter helfen, das steht aber auf ein anderes Blatt).  
  
Eine simple Weiterleitung, wie Du sie hier vorhast, ist aber auch nicht hilfreich. Der Besucher sollte schon erfahren, was schief gegangen ist, und nicht sofort (oder auch nach nur 2 Sekunden) zu einer Seite weitergeleitet werden, die er womöglich gar nicht bekommen will. Beispiele guter Fehlerseiten gibt es im Netz viele, eine gute Erklärung hier: <http://jendryschik.de/wsdev/fehlerseiten/>. Oder:  
  
<http://www.atomic-eggs.com/gibtsauchnicht.daguckstu_was>  
  
Nun zurück zu 1&1. Bei anderen Webhostern reichen simple Einträge in der .htaccess um zu den Error-Dokumenten umzuleiten. So sollte es sein auch sein, und bei statischen Dokumenten (.html, .txt) funktioniert es auch bei 1&1. Ich habe alle meine Error-Dokumenten in einem Unterordner des Roots namens /error. Allerdings gelang es mir nicht, einen eigenen 500er Error zu bekommen: Immer zu kam das von 1&1 bereitgestellte Dokument - und nicht das eigene. Ich musste ein Haufen Mails an 1&1 schicken, der erste Ticket-Bearbeiter kam selbst nicht weiter, meine Anfrage musste weitergeleitet werden. Nach einer Zeit kam diese Erklärung:  
  
Bei Fehlern mit Skriptdateien (und da wird sicher .php dazu zählen, auch wenn Deine Fehlermeldung keine einzige PHP-Anweisung enthält), muss im Root-Verzeichnis eine Datei:  
  
<cite>Sehr geehrter Herr Andrieu,  
  
nach intensiver Rücksprache in der Technik kann ich Ihnen folgendes  
mitteilen:  
  
Die Fehlerseite muss im Wurzelverzeichnis Ihrer Domain liegen und  
errorXXX.html heißen, dann wird bei einem Skriptfehler automatisch diese  
Datei an den Besucher ausgeliefert. Zu Testzwecken habe ich Ihre  
/error/500.shtml heruntergeladen und wieder als /error500.html  
hochgeladen -- <http://www.atomic-eggs.com/cgi-bin/test.pl> gibt nun den  
gewünschten Fehlerbericht aus, allerdings nicht so dynamisch via SSI,  
wie Sie das wünschen.  
</cite>  
  
Die Lösung für Dich besteht also darin, in deinem Root zwei Dateien abzulegen:  
error500.html (für eine eigene 500er Seite bei Skriptproblemen)  
error404.html (für nicht gefundene Skriptdateien)  
  
Ich hab's gemacht und siehe da:  
<http://www.atomic-eggs.com/cgi-bin/test.pl> (Script mit absichtlichen, fatalen Fehlern - führt zum Abbruch)  
<http://www.atomic-eggs.com/cgi-bin/gibtsimcgi-bingarnicht.pl>  
<http://www.atomic-eggs.com/cgi-bin/gibtsimcgi-bingarnicht.php>  
  
  
So und wenn Du jetzt beide vergleichst, fällt Dir was auf?  
<http://www.atomic-eggs.com/cgi-bin/gibtsimcgi-bingarnicht.php>  
<http://www.atomic-eggs.com/gibtsauchnicht.daguckstu_was>  
  
Bei der »gibtsauchnicht.daguckstu\_was« wird mein SSI-Error-Dokument 404 aufgerufen, das angibt, welche Datei nicht gefunden wurde.  
Bei »gibtsimcgi-bingarnicht.php« wird stattdessen die Datei [error404.html](http://www.atomic-eggs.com/error404.html) aus dem Root aufgerufen ;)  
  
  
Ein Problem gibt es noch. Es wird in den Logfiles kein Status 500 geschrieben! Durch diese komische 1&1-Regelung werden die Aufrufe des kaputten Skripts »test.pl« mit einem 200er (OK) registriert...  
  
  
  
Viele Grüße aus Frankfurt/Main,  
Patrick

-- 
![](http://www.atomic-eggs.com/zensstop.gif)  
  
\_ - jenseits vom delirium - \_  
  
[[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash](http://www.atomic-eggs.com/)]  
Nichts ist unmöglich? [Doch!](http://www.atomic-eggs.com/cwi/cwi_4.shtml)  
Heute schon ge[gök](http://goek.atomic-eggs.com/goek_goek.html)t?