Du bist nicht angemeldet.

  • Anmelden
  • Registrieren

lolusi

Anfänger

Beiträge: 3

1

09.07.2005, 14:28

eigene 404 Fehlerseite mit PHP

Haben Sie schon einmal eine eigene Website erstellt und dann eines Tages entschieden, dass Sie ein neues Design
oder eine neue Struktur einbringen wollen?
Wenn sie insbesondere die Dateistruktur hinter Ihrer Website ändern, kann dies eine Qual für Ihre Benutzer sein,
die aufrund von "dead links" im Nirvana Ihres Webservers enden.
Dieses Tutorial zeigt Ihnen, wie Sie diese "Error 404 Not Found" Fehlermeldungen nach Ihren eigenen Wünschen
gestalten und den Benutzer auf Ihre Website zurückführen können.
Nehmen wir an, dass wir einige Dateien wie hier auf unserem Webserver liegen haben:

Root
/index.php
/page1.php
/page2.php
/page3.php

Unsere neue Struktur sieht folgendermassen aus:

Root
/index.php
/artikel.php (War page1.php)
/bilder.php (War page2.php)
/gaestebuch.php (War page3.php)

Selbstverständlich werden die alten Dateien vom Server entfernt, wenn wir die neuen Daten aufspielen.

Angenommen auf jede der Seiten wurde von verschiedensten Stellen gelinkt, z.B. von Suchmaschinen, anderen
Homepages oder jemand hat einen Bookmark angelegt.
Wenn ein Benutzer nun diesem Link folgt bekommt er eine "Error 404 / Document Not Found" Fehlermeldung. Wir
versuchen nun diese Fehlermeldung zu umgehen und den Benutzer nicht zu verlieren, sondern auf unsere Website
umzuleiten.
Wir können Apache's eigebaute Fehlerbehandlungsfunktionen umgehen und dem Benutzer eine selbstgestaltete HTML-
Seite zusenden.
Als erstes bauen wir uns nun diese HTML Seite. Wir möchten dem Benutzer eine Fehlermeldung anzeigen, dass diese
Seite nicht mehr existiert und ihn anschliessend auf die Startseite weiterleiten.

Und so geht es:

<!-- error404.php -->
<html>
<head>
<!-- Meta refresh um den Benutzer zur index.php weiterzuleiten -->
echo "<meta http-equiv="refresh" content="2;URL=/index.php">";
</head>
<body>
<font color="#FFFF00" size="3"><center>
<strong>Diese Seite existiert nicht mehr auf unserem Server.
Sie werden auf unsere Startseite umgeleitet. Bitte aktualisieren Sie Ihre Bookmarks! </strong>
</center></font>
</body>
</html>

Das ist es schon. Eine kleine HTML Seite die den Benutzer auf die index.php weiterleitet und dabei natürlich frei
designbar ist.

Als nächstes benötigen wir nur noch eine "Steuerungsdatei" für den Webserver und eine kleine änderung in den
Einstellungen.
Wir öffnen die Datei httpd.conf im Apache-Verzeichnis und fügen folgene Zeilen Code hinzu ("/www/htdocs/deinesite"
mit dem Pfad zu eurer Website ersetzen):

AllowOverride FileInfo


Wenn dies getan ist legen wir im Verzeichnis der Website eine Date Namens ".htaccess" an.
Alles was in diese Datei stehen muss (angenommen die Fehlerdatei heisst "error404.php") ist:
ErrorDocument 404 /error404.php
Wenn all dies getan ist müssen wir den Webserver neu starten und können unsere Arbeit ausprobieren.
Wir gehen auf http://www.deinedomain.de/irgendeineseite.php (Wobei es irgendeineseite.php natürlich nicht geben
darf).

Wir sollten nun unsere Fehlermeldung sehen und nach 2 Sekunden auf die index.php weitergeleitet werden.
Herzlichen Glückwunsch.
Damit wären alle "Error 404"-Fehlermeldungen elegant behoben.
Benutzer werden die Website nicht mehr verlassen, nur weil eine Date nicht gefunden werden kann.

Mit der gleichen Methode können auch alle anderen Fehlerseiten des Server überschrieben werden.
Hier eine kleine Übersicht:
Error in Client
400 Bad syntax
401 Unauthorized
402 Not Used (Payment Granted)
403 Forbidden
404 Not Found
Error in Server
500 Internal Error
501 Not Implemented
502 Overloaded
503 Gateway Timeout

Thema bewerten