Benutzerdefinierte 404 Seite erstellen

  • Joomla Version
    4.3.3
    PHP Version
    PHP 8.0.x
    Hoster
    Strato

    Hi, es gibt zwar diverse Anleitungen im Netz um eine benutzerdefinierte 404 Seite zu erstellen, aber alle die ich gefunden habe beziehen sich auf die 3er Version von Joomla. Wie funktioniert es bei der 4er Version? Ich will nichts zerschießen.

  • Hi, danke für die Info.


    Ich habe soeben versucht, folgenden Code in die error.php des Templates einzutragen:


    defined ('_JEXEC') or die();


    if (($this->error->getCode()) == '404') {

    header('Location: /index.php?option=com_content&view=article&id=6');

    exit;

    }


    Leider tut sich gar nichts. Alle falsch geschriebenen URLs werde auf die Startseite geschickt. :(

  • Hast du für Itemid (siehe Anleitung aus #4) auch den gewünschten Menüpunkt angegeben?

    Wurde vorher eine error-Seite angezeigt bzw. ein 404 ausgegeben, wenn du eine falsche URL eingegeben hast?

    Nutzt du irgendein Optimierungs - oder SEO-Tool, was da eingreifen könnte?
    Link zur Seite?


    Der Code ist vielleicht nicht ganz korrekt dargestellt. Hier ein Beispiel, wie es funktioniert, wenn du id und Itemid anpasst und noch ein "&" dazwischensetzt. Gerade getestet mit Cassiopeia:

    Code
    if (($this->error->getCode()) == '404') {
        header('Location: ' . Jroute::_("index.php?option=com_content&view=article&id=6&Itemid=118", false));
        exit;
    }
  • JoomlaWunder


    Die ItemID habe ich korrekt ersetzt. Es kommt sofort die Index Seite bei Eingabe falscher Adressen, ohne irgend einen Error.


    Ich nutze einen Template Generator (Nicepage), aber auch die dort hinterlegte 404 Error Page (im Template Ordner) greift nicht.


    P.S. Die Seit ist noch gesperrt. Deshalb kannn ich hier keinen Link posten, sorry

  • Was sagt denn die Auswertung mittels F12 im Browser? Wird ein 404 zurückgegeben? Zu dem Generator kann ich nichts sagen, da ich ihn nicht kenne.

    Vielleicht gibt es auch Einträge in der .htaccess oder beim Hoster, die da eingreifen könnten?

  • Im Browser (F12) erscheint keine Fehlermeldung, auch nicht im System Message Container. Das meintest du wohl, oder?


    An die .htaccess habe ich auch schon gedacht. Es ist die Joomla4 eigene ohne eigene Änderungen.


    Vielleicht hängt es damit zusammen, dass die Seite noch nicht freigeschaltet ist. Ich teste das jetzt mal.

  • Starto, Ionos, All-Inkl und viele andere bieten in Ihrer Verwaltung an eigene Fehler Seiten zu benutzen. Diese werden dann auch von Deinem Web verwendet. Also zuerst schauen ob das bei Dir aktiv ist. Wenn ja, kannst Du auch hier die Seiten bearbeiten, wenn Du das nicht willst, den Punkt eigene Fehlerseiten einfach deaktivieren und dann sollten eigen Fehlerseiten greifen. Vermutlich hast Du in der .htacces eine Weiterleitungsregel drin. Das kannst einfach prüfen in dem Du mal eine aus einem Installationspacket nimmst und Deine Original entsprechend solange umbenennst. Für Fehlerseiten gibt es vom Provider in der Regel mehr als eine Vorlage. 400,401.403,404,405,500,502, 503 Fehler etc. .


    JoomlaWunder wen er auf die index.php umgeleitet wird, wird er mit F12 im Devmod auch nichts sehen können.

  • Hab die Sache bei Strato geklärt... Dort sind keine eigenen Fehlerseiten aktiv.


    Strato hat vorgeschlagen folgendes in die .htaccess einzufügen:

    ErrorDocument 404 /index.php?option=com_content&view=article&id=6


    Das hat auch keine Änderung gebracht! Deshalb habe ich es wieder gelöscht.


    Die .htaccess ist die von Joomla4 ursprünglich bereit gestellte ohne Änderung.

  • Dann musst Du unter der ID aber auch eine eigene Fehlerseite haben. Ansonsten die ID 6 mit der ersetzen welche für Deine Fehlerseite verwendet wird.

  • Ja, unter ID6 liegt eine von mir erstellte 404 Seite als Beitrag, der über ein Schattenmenü verlinkt ist. s.o. Manuell aufgerufen klappt das. Dann kann ich die seite sehen.

    Ich hab jetzt den Support von Nicepage angeschrieben, schauen wir mal was die sagen.