i-netlab: Tipps und Tricks

Beitrag lesen

Hallo Sven,

Nö Leute, das könnt ich nicht machen - lasst euch bitte was anderes einfallen.

Ich hab volles Verständnis für deinen Unmut - entweder es funktioniert wie gewünscht, oder es rettet zumindest die Daten. Naja, das Formular ist halt schnell mal entstanden und so gesehen noch Beta. Schade, dass du auf diese Weise Fehler findest.

Wie schon erwähnt: Ein Browser, der eine standard-gemäße History-Funktion realisiert, hätte geholfen. Opera ist so ein Browser. Vom

bloooß nicht! Der Opera ist nicht nur buggy sondern
total verlaust ;-)

IE und Mozilla/Netscape (egal welche Version) kann man das leider nicht sagen - die rufen beim "Zurück" in der Regel die Seite neu vom Server ab, und in dieser Seite fehlen natürlich deine Eingaben.

Auf jeden Fall ist das für mich auch ein ToDo weil ich ab und zu mal meinen Kollegen ein Formular vor die Nase setze und damit solche Situationen kenne (psst...).

Ich schreib meine Artikel schon immer für das i-netlab

http://i-netlab.de/downloads/notfound.html

Zum Artikel noch eine wichtige Anmerkung:
Mit dem ersten Beispiel:
ErrorDocument 404 http://domain.tld/pfad/404seite.html
leitest du den Benutzer _per Redirect_ auf die Fehlerseite. D.h. der User-Agent erhält einen Redirect (301 oder 302) und ruft dann ganz offiziell die 404-Seite ab - mit dem Statuscode 200. Es erfolgt _keinerlei_ Ausgabe eines Statuscodes 404.

Diese Verhaltensweise ist wahrscheinlich aber nicht erwünscht. Erstens: Die URL der Fehlerseite erscheint im Browser. Das macht es bei Tippfehlern in der ursprünglichen URL schwer, diese mal eben schnell zu korrigieren.

Zweitens: Clients, die den Statuscode 404 auswerten (wie zum Beispiel Suchmaschinen, Linkchecker etc), kriegen bei dieser Konfiguration keinen Status 404 vorgesetzt, sondern einen Redirect auf eine real existierende Seite (dass diese von "URL nicht gefunden" quatscht, versteht ein Computer in der Regel nicht). Wenn du Pech hast, aktualisiert z.B. eine Suchmaschinen den falschen Link so, dass er zukünftig auf deine Fehlerseite zeigt. Und auch dein Logfile enthält keinerlei 404-Codes, so dass du auch Verlinkungsfehler auf deiner eigenen Site nicht findest, wenn du nach 404-Codes suchst.

Deshalb: Lieber wie im zweiten Beispiel mit der CGI-Seite einfach einen absoluten Pfad _ohne_ Domainangabe machen. Das sorgt dafür, dass statt der Standardfehlerseite die eigene Alternative gezeigt wird - und dass der Statuscode 404 ausgeliefert und in die Logfiles geschrieben wird.

Die Variante mit Redirect ist wirklich nur dann sinnvoll, wenn fehlerhafte URLs wirklich _umgeleitet_ werden sollen, beispielsweise auf eine Suchmaschine auf einem anderen Server, welcher unter einer anderen Domain erreichbar ist. Es ist aber ohne Probleme möglich, auf der normalen Fehlerseite ein Suchformular einzubauen, so dass der Benutzer nicht kommentarlos auf die Suchmaschine gelangt, sondern über den URL-Fehler informiert wird und ggf.

Hmm, das ist wirklich mal was mit dem ich was anfangen kann. Denn: Ich hab nunmal das Problem dass einige meiner Seiten wech sind und Suchmaschinen diese Teile immer noch indizieren. Meine Frage vor einiger Zeit dazu *wie gebe ich einen 404 zurück und zeige meinem Besucher _gleichzeitig_ eine nette Seite ggf. mit Alternativen* ist hier in diesem Forum ohne Antwort geblieben...

Wie auch immer, für meine Begriffe ist's ersteinmal wichtig dem Besucher einen entsprechenden Hinweis zu geben!

Diesem grundlegenen Gedanken dient letztendlich auch das Script
404.cgi, try this: http://i-netlab.de/scr or this:
http://i-netlab.de/down - stets landet der Besucher im meinem Downlaodbereich. Wehe dem jedoch der
http://i-netlab.de/cgi-bin/formmail.pl versucht! Das ist ein Request auf ein Script was *offiziell* dafür bekannt ist dass Sicherheitslücken aufweist (siehe xwolf - Liste) und einem solchen Request begegnet das Script 404.cgi entsprechend (Hinweis auf rechtliche Schritte, Mail an Webmaster...).

Gerne stellte ich diesen Artikel auch SELF*:TIPPS&TRICKS zur Verfügung. Aber nicht unter den Bedingungen die ich bisher vorfand.

In der Hoffnung dass sich das ändert ;-)
Rolf