Ergebnis 1 bis 5 von 5

Thema: Fehler 404 Seite bringt: no root page found

  1. #1
    Contao-Nutzer
    Registriert seit
    11.05.2011.
    Beiträge
    19

    Standard Fehler 404 Seite bringt: no root page found

    Hi!

    Ich habe eine Fehler 404 Seite angelegt, um die Aufrufe der veralteten URLs abzufangen:
    http://www.elisabeth-obergurgl.com/d...-gefunden.html
    Beim direkten Aufruf funktioniert diese, ebenso, wenn ich http://www.elisabeth-obergurgl.com/de/blabla.html eingebe.
    Nicht aber, wenn ich zB. eine veraltete URL eingebe: http://www.elisabeth-obergurgl.com/a...10at/home.html
    Es erscheint die Fehlermeldung: "No root page found".

    htaccess ist aktiviert, Eintrag dort:
    # Fehlerseite Alias angegeben
    ErrorDocument 404 /de/seite-nicht-gefunden.html

    Ich gehe davon aus, dass der Fehler in meinem Seitenbaum liegt?
    Dieser sieht folgendermaßen aus:

    Haus Elisabeth
    - deutsch
    --404
    --seite1
    --seite2
    --seite3
    - english
    --seite1
    --seite2
    --seite3

    Kann mir jemand einen Tipp geben, wo mein Fehler liegen könnte? Bin hier im Forum leider nicht fündig geworden, was mir bei meinem Problem weiterhelfen könnte. Vielleicht bin ich einfach gerade nur betriebsblind?

    Danke schon mal im voraus,
    Karin

  2. #2
    Contao-Nutzer
    Registriert seit
    01.11.2012.
    Ort
    Kiel
    Beiträge
    109

    Standard

    Moin Karin,

    vermutlich erkennt Contao in der veralteten URL das "/at/" am Anfang als Sprachkürzel und schaut deshalb nach einer Root Page (Startpunkt einer Webseite) in der Seitenstruktur, bei der das Kürzel "at" als Sprache angegeben ist. Eine solche Root Page findet er nicht, daher die Meldung.

    Du könntest probieren, in deiner Seitenstruktur eine neue Root Page mit der Sprache "at" zu erstellen, in der es nur eine einzige Seite gibt, nämlich eine 404-Seite.

    Oder du versuchst es mit einer Weiterleitung per .htaccess-Datei, die sämtliche Aufrufe von URLs, die mit "/at/" beginnen, direkt auf deine 404-Seite umschreibt.
    Code:
    RewriteRule ^at.* /de/seite-nicht-gefunden.html	[R=301,L]
    Oder (was vermutlich für Besucher und auch für Suchmaschinen am angenehmsten wäre) du leitest die Aufrufe veralteter URLs direkt an die richtige neue URL weiter - das ginge auch per .htaccess, mit der Direktive RedirectPermanent.
    Code:
    RedirectPermanent /at/xlayout/guide/59398at,de/objectId,ACC234110at/home.html http://www.elisabeth-obergurgl.com/de/neue-seite.html

  3. #3
    Contao-Nutzer
    Registriert seit
    11.05.2011.
    Beiträge
    19

    Standard Leider keine Lösung

    Code:
    RewriteRule ^at.* /de/seite-nicht-gefunden.html	[R=301,L]
    Danke für deine tollen Ideen!
    Das habe ich versucht, es kommt aber weiterhin "no root page found" :-(
    Eine Weiterleitung auf die "neuen" Seiten macht keinen Sinn, da die Seitenstruktur nun völlig anders aussieht.

    Die Idee mit dem /at Seitenbaum ist leider nicht umzusetzen, da Contao das dann als "Sprache" erkennt - und im Sprachwechsler anzeigt.

    Jetzt bin ich wieder ratlos.
    Geändert von pixelbrain (27.12.2012 um 18:45 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    01.11.2012.
    Ort
    Kiel
    Beiträge
    109

    Standard

    Vielleicht liegt es daran, an welcher Stelle der .htaccess-Datei du die Regel eingefügt hast. Wenn du sie ganz am Ende einfügst, funktioniert es nicht - denn zu dem Zeitpunkt hat bereits die Regel gegriffen, die alle URLs, die auf ".html" enden, auf die "index.php" umschreibt.

    Probiere es einmal, wenn du die Regel an dieser Stelle einfügst: (Beispiel aus der .htaccess einer Contao Version 2.11.5)
    Code:
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase [...]
    [...]
      # die neue Regel
      RewriteRule ^at.* /de/seite-nicht-gefunden.html	[R=301,L]
    [...]
      # URL Suffix Umleitung von Contao
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.html$ index.php [L]
    [...]
      # Sprachcode-Umleitung von Contao
      RewriteRule ^[a-z]{2}/$ index.php [L]
      RewriteRule ^([a-z]{2})$ $1/ [R=301,L]
    [...]
    </IfModule>

  5. #5
    Contao-Nutzer
    Registriert seit
    11.05.2011.
    Beiträge
    19

    Daumen hoch Hurra, funktioniert!

    Wunderbar, vielen Dank!
    Dass die Position ausschlaggebend sein kann, daran hatte ich gar nicht gedacht.
    Das war's!

    Vielen herzlichen Dank für die Hilfe!
    Karin

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
  •