Ergebnis 1 bis 6 von 6

Thema: ERROR 404/htaccess, Redirect funktioniert nicht

  1. #1
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard ERROR 404/htaccess, Redirect funktioniert nicht

    Hallo,

    ich habe in der .htacces folgende Anweisung:

    ErrorDocument 404 /
    (macht so keinen Sinn, geht mir nur ums Prinzip)

    Im Contao-BE habe ich keine 404 Seite angelegt. Es erscheint immer die Standart Contao 404 Seite:
    "Seite nicht gefunden
    Was ist das Problem?

    Die angeforderte Seite gibt es nicht unter dieser Domain ...".

    D.h. meine 404 Anweisung in der htaccess wird überschrieben. Woher kommt das?

    Hintergrund: Ich möchte eigentlich 404 Errors auf die Startseite weiterleiten (mit GET-Parameter) und dann dort eine entsprechende 404-Meldung ausgeben.

    Grüße
    Nick

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Zitat Zitat von medianetic Beitrag anzeigen
    D.h. meine 404 Anweisung in der htaccess wird überschrieben. Woher kommt das?
    Überschrieben wird hier gar nichts. Das ErrorDocument kommt nur bei bestimmten URLs zum Einsatz. zB wenn du den default .html URL-Suffix verwendest und so eine URL aufgerufen wird: http://www.example.org/foo.html, es aber die Seite "foo" in Contao nicht gibt, generiert Contao die 404 Seite. Wenn aber so eine URL aufgerufen wird http://www.example.org/foo.htmlfoo, dann kommt die vom Webserver definierte Fehlerseite zum Einsatz - welche du ansonsten wiederum mit ErrorDocument 404 selbst festlegen kannst.

    Du musst also:
    • Code:
      ErrorDocument 404 /index.php
      in deiner .htaccess Eintragen.
    • Eine Seite vom Typ "404 Seite nicht gefunden" im jeweiligen Seitenbaum anlegen.
    • Auf eben dieser Seite ggf. ein Modul einbinden, dass den Redirect ausführt, so wie du ihn haben möchtest, wenn die normale Redirect Möglichkeit der 404 Seite nicht reicht.

  3. #3
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Erstmal Danke für die Antwort!

    Den ersten Antwortteil habe ich nicht ganz verstanden oder es verhältt sich bei mir anders:
    - Ordner-URLs sind aktiviert, d.h es gibt keine .html
    - Die Standardfehlermeldung von Contao scheint nicht bei bestimmten URLs zu kommen, sondern immer:
    beispiel.de/test

    Den zweiten Teil habe ich verstanden, ich wollte aber eigentlich keine 404 Seite einrichten auf der ich dann wiederum eine Weiterleitung (via Modul) machen, sondern direkt die Startseite ansteuern.

    Wenn das über einen Hook oder sonstiges gehen würde, wäre mir auch geholfen, irgendwo muss ja das Standardverhalten von Contao definiert sein. (Wie kommt es das die Standard-Error-Ausgabe überhaupt erscheint)
    Geändert von medianetic (14.10.2015 um 19:33 Uhr)

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.108
    Partner-ID
    10107

    Standard

    Zitat Zitat von medianetic Beitrag anzeigen
    Den ersten Antwortteil habe ich nicht ganz verstanden oder es verhältt sich bei mir anders:
    - Ordner-URLs sind aktiviert, d.h es gibt keine .html
    Ordner-URLs haben nichts mit dem URL-Suffix zu tun.


    Zitat Zitat von medianetic Beitrag anzeigen
    - Die Standardfehlermeldung von Contao scheint nicht bei bestimmten URLs zu kommen, sondern immer:
    beispiel.de/test
    Verstehe hier nicht ganz was du meinst. Beschreibe noch mal dein Setup im Detail (inkl. ob und welches URL-Suffix du verwendest und wie deine komplette .htaccess momentan aussieht).


    Zitat Zitat von medianetic Beitrag anzeigen
    Den zweiten Teil habe ich verstanden, ich wollte aber eigentlich keine 404 Seite einrichten auf der ich dann wiederum eine Weiterleitung (via Modul) machen, sondern direkt die Startseite ansteuern.
    Warum willst du direkt die Startseite ansteuern? Außerdem redest du ja von GET Parametern, wie willst du diese dann noch in die URL bekommen?


    Zitat Zitat von medianetic Beitrag anzeigen
    Wenn das über einen Hook oder sonstiges gehen würde, wäre mir auch geholfen, irgendwo muss ja das Standardverhalten von Contao definiert sein. (Wie kommt es das die Standard-Error-Ausgabe überhaupt erscheint)
    Was meinst du mit "Standard-Error-Ausgabe?" Die Meldung
    Seite nicht gefunden
    Was ist das Problem?

    Die angeforderte Seite gibt es nicht unter dieser Domain ...
    ist ja die Standard 404 Seite von Contao, wenn du keine eigene 404 Seite festgelegt hast. Diese Seite wird aber nur dann generiert, wenn eine URL das Contao System anspricht. URLs die nicht das Contao System ansprechen, und aber nicht existieren, erzeugen vom Webserver eine 404 Seite. Letztere kann man dann in das Contao System mit ErrorDocument 404 umleiten.

  5. #5
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Eigentlich relativ einfach!

    Interpretiert Dein Server ein 404 wird die Anfrage ins Root-Verzeichnis geleitet, das bedeutet ErrorDocument 404 /.
    Normaler Weise findet sich in der vHost-Konfiguration wieder, was Dein Server im Falle 404 tun soll, in Deinem Fall übernimmt diese Aufgabe aber die .htaccess, allerdings nur für den Fehler 404.
    Überschrieben wird dort nichts, lediglich die .htaccess wird bevorzugt behandelt, muss aber nicht auf jedem Server so funktionieren.

    Zumeist findet man in einer vHost-Konfiguration etwas von 404.html oder mit einem Pfad in ein spezielles Verzeichnis, z.B. /error/404.html.
    Dieser Ordner steht oft diversen Admin-GUI's automatisch zur Verfügung oder muss selbst angelegt werden, beinhaltet aber in der Regel alle möglichen Fehlerseiten.

    Ein Blick dort hinein, mit einem FTP, könnte Klarheit schaffen, wenn Deine Struktur so aufgebaut ist.

    Da Du aber den 404 mit der .htaccess ins Root-Verzeichnis umleitest und dort vermutlich Contao installiert ist, versucht jetzt Contao die Adresse aufzulösen!
    Ist sie nicht vorhanden, folgt automatisch die Fehlerseite von Contao.
    Ist keine eigene Fehlerseite in Contao definiert, kommt Contao mit der Contao eigenen Fehlerseite um die Ecke.

    Möchtest Du GET-Parameter übergeben, wirst Du eine eigene Fehlerseite unter der Seitenstruktur anlegen und diese abfangen müssen.
    Geändert von Thomas (15.10.2015 um 10:42 Uhr)
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  6. #6
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Danke Thomas! Konnte ich nachvollziehen.
    Ich schau mal weiter.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •