Ergebnis 1 bis 17 von 17

Thema: Individuelle 403 und 404 Seiten

  1. #1
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard Individuelle 403 und 404 Seiten

    Eigentlich eine Frage zur Seitenstruktur oder Seiten-Optionen, aber das hier scheint das passendste Forum zu sein...

    Ich habe in Contao (3.3.2) eine individuelle 403- und 404-Fehlerseite angelegt. Folge ich einem Link zu einem zugriffsgeschützten Bereich, oder schreibe ich den Seiten-Alias in der Browser-URL-Zeile um, erscheinen aber nicht die von mir vorbereiteten Seiten, sondern Contao-eigene Fehlerseiten.

    Die Seiten sollten korrekt im System als entspr. Fehlerseiten deklariert sein...
    20140616_seiten.jpg

    Viel zu beachten scheint es ja nicht zu geben. Trotzdem erscheinen die Seiten nicht. Beispiel 403-Fehlermeldung:
    20140616_403.jpg

    Heißt also, das CMS merkt schon, was da los ist (es werden keine Server-Fehlermeldungen, sondern entsprechende Contao-Fehlermeldungen angezeigt), zeigt aber nur die generische Fehlermeldung.

    Auf dieser Seite steht dann noch die Anweisung "Legen Sie ein Template namens templates/be_forbidden.html5 an, um diese Meldung anzupassen." -- ist das der entscheidende Hinweis? Wie muss ich dieses Template anlegen, damit die von mir vorbereitete Fehlerseite angezeigt wird? Ich habe ordnungsgemäß nach dem Thema gegoogelt, ge-communitiet, und auch im Online-Handbuch ( www.contao-handbuch.de/fehlerseiten-fehler-403-und-fehler-404.html ) kann ich nicht finden, dass ich noch irgendwas spezielles beachten muss. Was mache ich falsch?

    Danke,
    Frank

  2. #2
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Ich stelle im meinem Hosting so ein, dass ich über die htaccess eigene Fehlerseiten definieren kann /404.html.

    Dann lege ich die Fehlerseiten an und gebe denen den Alias 404 resp. 403 und schalte das URL Umschreiben ein. Wichtig ist einfach dass der Alias Stimmt wie ihn in der .htaccess eingegeben hast.

    Auf dieser Seite steht dann noch die Anweisung "Legen Sie ein Template namens templates/be_forbidden.html5 an, um diese Meldung anzupassen." -- ist das der entscheidende Hinweis?
    Diese Seite ist keine Personalisierte Meldung sondern die Standardmeldung von Contao. Und mit dem template passt Du nur den Standard an. Wenn Du dem Seitenbaum ein Standard Seitenlayout zuordnest, werwenden die Individuellen Fehlerseiten auch dieses als Volage.


  3. #3
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo Frank,

    Du solltest die beiden Fehlerseiten mal in der Seitenstruktur unterhalb dem Startpunkt der Website, also als erste Seiten, verschieben. Dann sollte Contao sie auf jeden Fall nutzen. Bei Dir sieht es so aus, als wenn sie als Unterseiten angelegt wurden, vielleicht liegt's daran?

    Viele Grüße
    Petra

  4. #4
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    @ciaobello -- danke, das klingt soweit einleuchtend. Leider kann ich die Fehlerseiten aber noch nicht mal direkt im Browser aufrufen Ich kann zwar problemlos jede angelegte Seite über das Seiten-Alias direkt aufrufen, also z.B.
    www.domain.de/startseite.html
    für die Seite mit dem Alias "startseite", usw.,

    aber nicht
    www.domain.de/fehler-404.html
    für die Seite mit dem Alias "fehler-404".

    Hab' das Alias mehrfach peinlich überprüft, es liegt nicht daran, dass ich ein falsches Alias in die URL-Zeile tippe. Wie gesagt, bei jeder anderen (normalen Inhalts-)Seite funktioniert der direkte Aufruf auch problemlos, nur bei der 403- und 404-Seite nicht. Es erscheint aber auch keine Apache-Fehlermeldung, sondern eben die Contao-Fehlermeldung. Der Vorgang geht also nicht an Contao vorbei.

    Noch eine Bonusfrage Wenn ich das per htaccess löse statt über die Contao-Seite, wie mache ich das dann mit mehreren Sprachen? Ach, das recherchiere ich dann weiter, wenn ich's erst mal grundsätzlich laufen habe

    ps: wenn ich so drüber nachdenke -- wozu deklariere ich in Contao überhaupt explizit "Fehler"-Seiten, wenn ich hinterher einfach nur per htaccess auf eine in Contao angelegte Inhaltsseite per alias-URL umleite? Dazu könnte ich doch auch einfach auf eine normale Inhaltsseiten umlenken, auf denen ich meine 404-Textinhalte plaziere. Vielleicht wird das ja meine "Fallback-Lösung". Ich bin aber nicht sicher, ob das vom Contao-System her so gedacht ist... :/
    Geändert von Traumkunst (17.06.2014 um 00:00 Uhr)

  5. #5
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    @Petra -- danke, das scheint es gewesen zu sein. Beide Fehlerseiten in den Haupt-Ordner verschoben -- beide funktionieren sofort genau so wie sie funktionieren sollen (ohne extra htaccess-Anweisungen).

    gute Nacht,
    Frank

  6. #6
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo Frank,

    das freut mich! Die .htaccess-Lösung funktioniert natürlich auch, allerdings sollte der Übersicht halber meines Erachtens alles in Contao verwaltet werden.

    Viele Grüße, Petra

  7. #7
    Contao-Urgestein
    Registriert seit
    10.07.2010.
    Beiträge
    4.403
    User beschenken
    Wunschliste

    Standard

    Bei der .htaccess Umleitung hasst Du einfach den Luxus, dass auch Seiten wie Example.com/irgendeinunterverzeichnis abgefangen werden. Bei Dir kommt so ohne die Umleitung die "Ugly Apache" Meldung.

    Zur Bonusfrage:
    @Petra, genau alles in Contao. Da die .htaccess auch ein Teil von Contao ist beschränke ich mich beim Alias nur auf die Error nummer. Sind dann genau 2 Einträge die Immer gleich bleiben (erst noch mehrsprachig). Bei Mehrsprachigen Seiten hat dass den Vorteil, dass man Mitteilungen in Artikel mit dem Lang Inserttag Anzeigen kann. Falls man dann mehrere Seitenbäume und DNS Einträge verwendet, hat man den Luxus dass man auch den selben Alias mehrere Male verwenden kann (und nur die Seite Kopieren muss).


  8. #8
    Contao-Nutzer
    Registriert seit
    21.09.2014.
    Beiträge
    9

    Standard

    Zitat Zitat von petra Beitrag anzeigen
    Hallo Frank,

    Du solltest die beiden Fehlerseiten mal in der Seitenstruktur unterhalb dem Startpunkt der Website, also als erste Seiten, verschieben. Dann sollte Contao sie auf jeden Fall nutzen. Bei Dir sieht es so aus, als wenn sie als Unterseiten angelegt wurden, vielleicht liegt's daran?

    Viele Grüße
    Petra
    Wie ist es wenn ich innerhalb einer Contao Installation mehrere Webseiten habe?
    Ich möchte gerne für jede Webseite eine eigene 403/404 Seite anlegen. Wenn ich nun solche Fehlerseiten jeweils für jede Webseite anlege und unterhalb dem Startpunkt der jeweiligen Webseite lege nutzt jede Webseite nur die individuellen Fehlerseiten, die ich unter dem Startpunkt der ersten, obersten Webseite gelegt habe.

  9. #9
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo N1N,

    es ist eiigentlich der richtige Weg, für jeden Websitestartpunkt eigene Fehlerseiten anzulegen. Und ruft jemand nun die URL www.domain.de/en/page23.html auf, die es nicht gibt, erhält er die entsprechend englische Fehlermeldung.
    Lediglich bei www.domain.de/en/page23 erscheint die erste Fehlermeldung und nicht die innerhalb des entsprechenden Websitestartpunktes.

    Herzliche Grüße
    Petra

  10. #10
    Contao-Nutzer
    Registriert seit
    21.09.2014.
    Beiträge
    9

    Standard

    Hallo Petra, danke für deine schnelle Hilfe.

    Das .html Suffix habe ich aktiv.
    Als ich jetzt mal die Funktion "Die Sprache zur URL hinzufügen" aktiviert habe, hat er plötzlich immer nur die Fehlerseite der untersten Webseite genommen.

    Kann es evt. sein, dass ich in den Einstellungen die Funktion "URLs umschreiben" aktivieren muss? ("Statische URLs ohne das index.php-Fragment erzeugen. ...")
    Damit das ganze überhaupt funktionieren kann?

  11. #11
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo N1N,

    hm..da ich /index.php/ nie nutze, kann das natürlich gut sein, dass das raus muss. Einfach mal ausprobieren

    Herzliche Grüße
    Petra

  12. #12
    Contao-Nutzer
    Registriert seit
    21.09.2014.
    Beiträge
    9

    Standard

    Auch damit konnte ich es nicht lösen. Ich muss scheinbar in den DNS Einstellungen jeder weiteren Webseite innerhalb dieser einen Contao Installation einen extra Domainnamen eintragen. Also habe ich eine Subdomain für die weiteren Webseiten vergeben. Mich würde natürlich interessieren ob es auch ohne diese extra Domainvergabe funktionieren müsste.

  13. #13
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    194

    Standard

    Hallo N1N,

    nein, bei mir klappt das auch ohne DNS-Einträge. Hm...

  14. #14
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    Bei mir funktioniert es ebenfalls ohne individuelle Domains oder Subdomains. Voraussetzung ist, dass die fehlerhafte Adresse unterhalb des Sprach-Verzeichnisses aufgerufen wird.

    Also www.domain.de/en/quatsch.html
    => Führt zur englischen 404-Seite www.domain.de/en/error_404.html

    , www.domain.de/pl/quatsch.html
    => Führt zur polnischen 404-Seite www.domain.de/pl/error_404.html

    Gebe ich einfach www.domain.de/quatsch.html ein,
    so leitet Contao weiter zur ersten Sprache, das ist in diesem Fall deutsch. Der User landet also auf
    www.domain.de/de/error_404.html . Diese Version ist auch als Fallback markiert.

    Vielleicht hing das Problem damit zusammen? Wenn es zuerst gar keine Sprach-Unterverzeichnisse gab, dann sahen z.B. die Startseiten-URLs evtl. einfach so aus:

    www.domain.de/startseite-deutsch.html (Startseite 1. Seitenbaum)
    www.domain.de/homepage-english.html (Startseite 2. Seitenbaum)

    Wenn ich nun von homepage-english.html auf eine nicht-existierende Seite weiterklicke (www.domain.de/nonsense.html), dann denkt Contao m.W. nicht soweit mit, dass der User ja jetzt von der englischen Seite aus kam, ergo auch die engl. Fehlerseite bekommen müsste. Diese Info müsste ja in einem Cookie oder in der Sitzung gespeichert werden, aber das tut Contao m.W. nicht. Also gibt Contao einfach die erste Fehlerseite aus, die es findet bzw. die des "Haupt"-Seitenbaums.

    Ich hoffe, das war nachvollziehbar und in der Sache richtig :-)

    Aber wenn sich das Problem durch die Benutzung von Subdomains ohnehin gelöst hat (die *kann* Contao ja einem Seitenbaum zuordnen!), dann ist ja alles gut.

  15. #15
    Contao-Nutzer
    Registriert seit
    21.09.2014.
    Beiträge
    9

    Standard

    Also erstmal danke an euch. Ihr helft mir als Nicht-Profi weiter neue Ansätze zu einer evt. Lösung zu erfahren.

    Die Spracheinstellung scheint hier auch eine Rolle zu spielen. Wenn ich das Beispiel aus deinem Beitrag hernehme und mal so umsetze, dann klappt es auch.
    Nur habe ich bei mir 2 Webseiten mit jeweils "de" als Spracheinstellung. Es entsteht wohl irgendwie ein Konflikt:


    Die Funktion "Die Sprache zur URL hinzufügen" eingeschaltet passiert folgendes:

    Aufruf www-domain-de/de/geschütze_seite.html aus Webseite 1
    => Führt zur 403-Seite www-domain-de/de/verweigert_403.html aus Webseite 2
    == er landet hier also leider auf der verweigert_403.html von Webseite 2 statt von Webseite 1

    Aufruf www-domain-de/de/geschützte_seite.html aus Webseite 2
    => Führt zur 403-Seite www-domain-de/de/verweigert_403.html aus Webseite 2
    == korrekt


    Die Funktion "Die Sprache zur URL hinzufügen" ausgeschaltet passiert folgendes (genau umgekehrt):

    Aufruf www-domain-de/geschütze_seite.html aus Webseite 1
    => Führt zur 403-Seite www-domain-de/verweigert_403.html aus Webseite 1
    == korrekt

    Aufruf www-domain-de/geschützte_seite.html aus Webseite 2
    => Führt zur 403-Seite www-domain-de/verweigert_403.html aus Webseite 1
    == er landet hier also leider auf der verweigert_403.html von Webseite 1 statt von Webseite 2


    Eine Vergabe eines Domainnamens unter DNS Einstellung ist eine Lösung - ich denke weil Contao scheinbar so auch erst weiß welche Fehlerseite aufgerufen werden muss(?)
    Geändert von N1N (14.01.2016 um 01:56 Uhr)

  16. #16
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    Wenn Du 2 Websites unterhalb 1 Contao-Installation hast, beide deutsch, und den Seitenbäumen keine individuelle Domain zugewiesen hast, woher soll Contao dann wissen, wann welche Seite bei Aufruf der Domain auszuliefern ist? Das würde dann ja nur noch über den Seiten-Alias gehen, aber die 403- und 404-Seiten sind von der Funktion her vorgegeben, unabhängig von ihrem Alias. Ähnliches für die Startseite ("Startpunkt einer Website").

    Aber in Deinem Beispiel ist ja selbst das Alias gleich:
    1. www-domain-de/de/geschütze_seite.html aus Webseite 1
    2. www-domain-de/de/geschützte_seite.html aus Webseite 2
    ==> Wobei ich davon ausgehen, dass es sich bei "geschütze" um einen Schreibfehler handelt

    Wenn ich das also richtig verstehe, dass Du nicht mit untersch. Sprachversionen arbeitest, sondern schlicht zwei parallele Websites unter Contao fährst, dann müsstest Du wohl tatsächlich auch mit 2 verschiedenen Domains arbeiten, ansonsten wird's schwierig. Aber dafür sind's ja auch 2 versch. Websites, da hat ja wohl jede ihre eigene Domain verdient.

    Oder verstehe ich das falsch? Kann man sich das irgendwo ansehen, evtl. klärt sich dann das eine oder andere.

  17. #17
    Contao-Nutzer
    Registriert seit
    21.09.2014.
    Beiträge
    9

    Standard

    Hallo ,

    die Seitenaliase sind alle unterschiedlich. Sie waren nur hier im Beispiel gleich, bis auf den Rechtschreibfehler.

    Ansonsten glaube ich verstehst du mich richtig und mit deinem Wissen erkennst du vielleicht, dass das so wie ich mir das gedacht habe, nicht funktionieren kann.
    Du hast richtig erkennt, ich habe 2 Websites unterhalb 1 Contao-Installation, beide deutsch, und ohne individuelle Domain.

    Nun dachte ich:
    Rufe ich nur die Domain auf, dann nimmt Contao einfach die erste Webseite, weil sie auch in meiner Seitenstruktur im Backend einfach als erste angeordnet ist.
    Und rufe ich die Domain direkt zu einer konkreten Seite auf, also Domain + Seitanalias, dann wüsste Contao auch immer welcher "Startpunkt der Webseite" zur aufgerufenen URL gehört und nimmt die darin liegende 403 Seite.
    Ich dachte alleine mit dem Anlegen einer neuen Seite mit Typ "Startpunkt einer Webseite" erzeuge ich eine Art neue Schachtel. Rufe ich eine Seite auf, erkennt das CMS innerhalb welcher Schachtel man sich befindet und holt die 403 Seite automatisch von hier. Auch ohne sichtbare Verzeichnisstruktur innerhalb der URL z.B. in Form unterschiedlicher Sprache. Wie das technisch im Hintergrund hätte aussehen sollen, dafür fehlt mir mangels Wissen die Vorstellung.
    Nun denke ich, dass ich mir das nicht so einfach vorstellen darf, nur weil es im Backend durch die Optik der Seitenstruktur in Form einer Baumstruktur so wirkt.


    Aber dafür sind's ja auch 2 versch. Websites, da hat ja wohl jede ihre eigene Domain verdient.
    Da hast du natürlich Recht ;-)
    Geändert von N1N (14.01.2016 um 12:46 Uhr)

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
  •