Ergebnis 1 bis 6 von 6

Thema: Wie konfiguriert man eine ErrorDocument-Seite für eine mehrsprachige Website ?

  1. #1
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard Wie konfiguriert man eine ErrorDocument-Seite für eine mehrsprachige Website ?

    Je n'arrive pas a configurer une page ErrorDocument, sachant que j'ai un domaine multi-langue et que la langue apparait dans l'url.Quelqu'un saurait faire ?
    Ab V2.11 hat sich die .htaccess "mächtig" verändert. Ich (aus dem French Forum) schaffe es nicht mehr, eine ErrorDocument-Seite zu konfigurieren. Es handelt sich um eine mehrsprachige Website, in der die Sprache in der URL erscheint.
    Wüsste jemand, wie man das macht ?

  2. #2
    Contao-Fan Avatar von Sioweb
    Registriert seit
    12.08.2011.
    Ort
    Düsseldorf
    Beiträge
    405
    User beschenken
    Wunschliste

    Standard

    Ho!

    also ich leite meine 404 und 403 per .htaccess auf eine PHP-Datei weiter error.php. Dort frage ich ab um welchen Statuscode es sich handelt und leite dort dann weiter auf meine in Contao angelegten 404 / 403 Seiten. Cool an der Sache ist, dass ich noch als Get-Parameter ?ref=gesuchte/seite/anzeigen.html mitgeben kann. Damit sehe ich im Backend gleich was der User/Google gesucht hat. Dazu kann man dann noch Keywords übermitteln und eine Suche einbauen auf den Fehlerseiten etc...
    Grüße Sascha W. @Sioweb
    schadebalken.de | zurück-zu-montag.de
    +++ Programmierer von Change-Lok erfasst worden +++

  3. #3
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Vielen Dank für die schnelle Antwort. Die Frage kam allerdings von jemandem, der noch nie eine error.php erstellt hat. Er fragt mich, wo er diese Datei finden kann oder ob man die erstellen muss. Und wenn, ob ich ein Beispiel hätte. Also da muss ich passen.

  4. #4
    Contao-Fan Avatar von RainerG
    Registriert seit
    22.05.2011.
    Ort
    Hannover
    Beiträge
    848

    Standard

    Warum nutzt Du hierfür in der Contao-Seitenstruktur nicht die entsprechenden Seitentypen?
    Oder ist das für eine mehrsprachige Seite nicht geeignet?
    Rainer G. aus H.
    www.BunteReisebilder.de

  5. #5
    Contao-Nutzer
    Registriert seit
    17.12.2010.
    Ort
    Schwabenländle
    Beiträge
    120

    Standard

    Zitat Zitat von RainerG Beitrag anzeigen
    Warum nutzt Du hierfür in der Contao-Seitenstruktur nicht die entsprechenden Seitentypen?
    Oder ist das für eine mehrsprachige Seite nicht geeignet?
    Der entsprechenden Seitentypen von Contao funktionieren auch mehrsprachig problemlos.
    Allerdings greift die Fehlerbehandlung in Contao nur bei Aufrufen mit Dateiendung, also z.B. "irgendwas.html" oder "irgendwas.php".
    Wenn jemand die URL ohne Endung aufruft (quasi Verzeichniszugriff), also z.B. "/irgendwas" erscheint das Error-Document das im Server (Regelfall Apache) eingetragen ist, die man über die .htaccess steuern kann.

    Behandeln kann man das mit so einer error.php wie sie Sioweb beschrieben hat.
    Nachteil: das ganze ist nicht mehr ganz dynamisch, da man die URLs der Fehlerseiten dort als Weiterleitungs-URL eintragen muss. Wenn sich diese ändert oder eine neue Sprache hinzukommt muss die error.php auch wieder angepasst werden.
    Man kann die Seitenaliase auch aus Inserttag und ID generieren lassen (+ replaceInsertTags), aber ganz dynamisch wird man das wahrscheinlich nicht hinbekommen.

    ------

    Es gibt auch noch einen anderen Weg, der vielleicht technisch nicht ganz korrekt ist, aber seinen Zweck größtenteils erfüllt und für nicht-Programmierer geeignet ist:

    Vorarbeit/Bedingungen:
    Jeder Seitenbaum (also jede Sprache) benötigt eine eigene Fehlerseite vom Typ "404 Seite nicht gefunden". Getestet ist das ganze mit der Option "Sprache zur URL hinzufügen" also domain.tld/sprachcode/alias.html)

    Vorgehen:
    Man trägt in der .htaccess ein ErrorDocument mit einem Alias ein, der im Contao nicht angelegt ist (Wichtig! Dieser Alias darf in keinem Contao-Seitenbaum eingetragen sein!)
    z.B.
    Code:
    ErrorDocument 404 /error_site.html
    Nun leitet der Webserver bei Aufruf von "/irgendwas" auf die URL mit "error_site.html" weiter. Jetzt hängt die Dateiendung dran und Contao klinkt sich ein, prüft ob es diesen Alias gibt, stellt fest dass es diesen nicht gibt und zeigt die als Seitentyp "404 Seite nicht gefunden" definierte Seite an.

    Manko: Contao prüft erneut die Browsersprache und springt dann zu der Error-Seite in der jeweiligen Browsersprache. Leider springt dann auch die komplette Seite zu dieser Sprache. D.h. wenn jemand die Seite im Sprachwechsler auf Französisch switcht, die Browsersprache aber Deutsch ist und es wird eine ungültige URL ohne Dateiendung eingegeben springt die gesamte Seite von Französisch auf Deutsch und es erscheint die deutsche Fehlerseite. URLs mit Dateiendung (also z.B. ein veralteter Direktlink auf eine Seite) ist davon nicht betroffen, da Contao dort die Spracheinstellung nicht verliert.
    Dieses Manko muss man dann wohl oder übel schlucken. Dafür wird aber immer eine Contao-Fehlerseite angezeigt.

  6. #6
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Vielen Dank.
    Das wird einigen hier im Forum helfen
    Ich hab' mich auch immer gefragt, warum der einmal auf die contao-Seite 404 springt und ein anderes Mal auf die Apache-404 .

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
  •