Frederik: Cookies und Ordnerhierarchie

Hallo!

Ich habe ein kleines Problem mit den Cookies auf einer Seite.

Zunächst eine knappe Schilderung, was ich gerne realisieren möchte: Ich habe eine Seite (site.xy), die in verschiedenen Sprachen verfügbar sein soll. Dies ist mit entsprechenden Unterordnern gelöst, es gibt also site.xy/de/start.html, site.xy/en/start.html, etc. Auf den Seiten kann man aber auch über einen Link direkt auf die Seite in einer anderen Sprache wechseln, es führt also ein Link von site.xy/de/start.html nach site.xy/en/start.html.

Nun würde ich gerne, dass die Sprachwahl in einem Cookie gespeichert wird, so dass man direkt auf die entsprechende Seite weitergeleitet wird, wenn man auf site.xy/index.html geht. Leider ist aber ja ein Cookie, der in site.xy/de gesetzt wird, nicht für site.xy lesbar, wenn ich das richtig verstanden habe.

Die einzige Lösung, die mir im Augenblick einfällt, wäre, die Sprachauswahl zu verändern: Der Link müsste dann von site.xy/de/start.html nach site.xy/index.html?lang=en zeigen. site.xy/index.html speichert dann die Sprache in einem Cookie und leitet auf site.xy/en/start.html weiter. Die Lösung gefällt mir aber nicht so richtig, zumal dann die Sprachauswahl stark von JavaScript abhängt.

Hat vielleicht jemand einen Tipp, wie ich das Speichern und Auslesen der gewählten Sprache eleganter lösen könnte?

Herzlichen Dank schon mal und liebe Grüße
Frederik

  1. Hallo,

    Wenn ich dich richtig verstanden habe, willst du, dass dein(e) Cookie(s) auf beiden Seiten funktionieren.

    Letztlich willst du dein Cookie also so setzen, dass es sich auf die gesamte Domain auswirkt.

    Das geht mit Hilfe der path-Angabe.
    Etwa so:

    document.cookie = "... ;path=/"

    mfg. Daniel

    1. Wenn ich dich richtig verstanden habe, willst du, dass dein(e) Cookie(s) auf beiden Seiten funktionieren.

      »

      Letztlich willst du dein Cookie also so setzen, dass es sich auf die gesamte Domain auswirkt.

      Ja, genau!

      Das geht mit Hilfe der path-Angabe.
      Etwa so:

      document.cookie = "... ;path=/"

      Super, das sieht gut aus! Ich werde es mal testen, aber so sollte es wohl funktionieren. Schade, dass das in der Beschreibung zu document.cookie in SelfHMTL nicht vermerkt ist. Immerhin wird dort die Sache mit der Ordnerhierarchie recht ausführlich behandelt.

      Liebe Grüße
      Frederik

      1. Hallo,

        Das geht mit Hilfe der path-Angabe.
        Etwa so:

        document.cookie = "... ;path=/"

        Super, das sieht gut aus! Ich werde es mal testen, aber so sollte es wohl funktionieren. Schade, dass das in der Beschreibung zu document.cookie in SelfHMTL nicht vermerkt ist. Immerhin wird dort die Sache mit der Ordnerhierarchie recht ausführlich behandelt.

        Allerdings! Ich hab vor kurzen selbst noch danach gesucht, aber in der Doku nichts dazu gefunden, jedenfalls nicht den Befehl dazu. Nach einer Suche im Archiv fand ich dann aber ein Codebeispiel, wo eben dieser Befehl stand. Damit funktionierte es dann auch :)

        mfg. Daniel

        1. Allerdings! Ich hab vor kurzen selbst noch danach gesucht, aber in der Doku nichts dazu gefunden, jedenfalls nicht den Befehl dazu. Nach einer Suche im Archiv fand ich dann aber ein Codebeispiel, wo eben dieser Befehl stand. Damit funktionierte es dann auch :)

          Hm, ich hatte im Archiv nichts gefunden. Wohl falsch gesucht...

          Aber eben habe ich es getestet, klappt wunderbar! Danke!

          Liebe Grüße
          Frederik

          1. Hallo,

            Allerdings! Ich hab vor kurzen selbst noch danach gesucht, aber in der Doku nichts dazu gefunden, jedenfalls nicht den Befehl dazu. Nach einer Suche im Archiv fand ich dann aber ein Codebeispiel, wo eben dieser Befehl stand. Damit funktionierte es dann auch :)

            Hm, ich hatte im Archiv nichts gefunden. Wohl falsch gesucht...

            Ich will dir jetzt auch keinen Vorwurf machen. Ich hatte im Archiv nicht explizit danach gesucht, sondern bin einfach mal ein paar Quellcodes zum Thema „Cookies“ durchgegangen.

            Aber eben habe ich es getestet, klappt wunderbar! Danke!

            Schön :)

            mfg. Daniel