header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > Tipps und Tricks zusammengetragen > Fehlerseiten des CMS statt des Servers
Letzte Bearbeitung:

Fehlerseiten des CMS statt des Servers nutzen

Um den User bei nichtexistierenden URLs mit ? hinter http(s)://domain.tld/ auf die eigene Fehlerseite weiterzuleiten, bedarf es einer Funktion, wie hier beschrieben.
Diese Fehlerseite muss dann unter http(s)://domain.tld/?404 erreichbar sein.

Achtung: Bei Versuchen ist mir Folgendes aufgefallen:

Wenn eine (nichtexistierende) Adresse nach dem Muster domainname.de/xyz (also ohne „?”) eingegeben wird, beispielsweise https://domain-name.de/xyz, wird richtigerweise die Seite für den 404-Fehler aufgerufen und angezeigt. In der Adress-Zeile des Browsers steht aber dann Unsinn! (https://domain-name.de/xyz?404)
Stellt man dann den Mauszeiger auf einen Link, der in die gleiche Website zeigt, so wird ebenfalls eine falsche Zieladresse erzeugt und in der Statuszeile eingeblendet! Ein Klick auf eine solche Adresse führt unweigerlich zu einem erneuten Aufruf der 404-Seite, weil diese Seite ja nicht wirklich existiert.

Damit auch diese nichtexistierende URLs ohne ? hinter http(s)://domain.tld/ auf die eigene Fehlerseite geleitet werden, bedarf es einer Umleitungsregel in der .htaccess.

Der Eintrag setzt sich zusammen aus dem einleitenden ErrorDocument, dem HTTP-Status-Code (z.B. 404), für den die Umleitung gelten soll, und der Adresse (z.B. /?404) der Zielseite, zu der umgeleitet werden soll (hier als relativ zum root der Website angegeben).

Die Lösung nach meinem Verständnis

Das Umleitungsziel wird nicht als relative Adresse in der .htaccess angeben, sondern als absolute Adresse:

# Custom 404 errors

# Damit falsche URLs nach der Weiterleitung nicht immer noch vor /?404 stehen,

# wird in der folgenden Regel besser der koplette Link zur Fehlerseite angegeben.

ErrorDocument 404 https://lembach-cmsimple.de/?404

Weitere Einträge in der .htaccess für weitere eigene Fehlerseiten

Diese Einträge können so aussehen:

# eigene Fehlerseiten

# Custom 400 errors
ErrorDocument 400 /?400

# Custom 401 errors
ErrorDocument 401 /?401

# Custom 403 errors
ErrorDocument 403 /?403

Beispiele für eigene Fehlerseiten


| Seitenanfang |