Sven Rautenberg: httpd.conf

Beitrag lesen

Moin!

Aus deinem Gestammel hier und dem Thread bei php-forum entnehme ich einen gewissen Sinn - ich kann natürlich auch falsch geraten haben.

Ich moechte das meine index.html.de geladen wird, es funktioniert aber nicht, kann mir jemand sagen, was falsch ist

Deine Herangehensweise ist falsch!

Du willst Content-Negotiation haben, hast aber nicht statische, sondern (und das ist perfekt für die Aufgabe) dynamische Seiten via PHP zur Verfügung.

Du ignoriest deshalb am besten alles, was du über .htaccess gelesen hast, und nimmst auch alle diesbezüglichen Konfigurationen raus, und fragst einfach in $_SERVER['ACCEPT_LANGUAGE'] ab, welche Sprachen der Browser bevorzugt.

Dazu gehst du sinnvollerweise so vor, dass du zunächst die enthaltenen Informationen mit explode() an den Kommas aufsplittest in ein Array, und dann vom ersten zum letzten Arrayeintrag durchgehst, ob die ersten beiden Zeichen der Sprachinformation welche sind, die du einer von _dir_ angebotenen Sprache zuordnen kannst. Das ist deshalb wichtig, weil es für deutsch nicht nur "de" gibt, sondern z.B. auch "de-AT". Außerdem könnte ein Browser Präferenzen mit übermitteln, indem ein Parameter q angehängt wird. Das alles spielt sich aber _hinter_ den ersten beiden Buchstaben ab.

Wenn du herausgefunden hast, welche Sprache der Besucher von deinen angebotenen Sprachen bevorzugt (wenn du keine findest, nimm die, die die meiste Verbreitung in deinem Zielgebiet hat, als Standardwert), dann kannst du diese Sprache in der Session übergeben und bei der nächsten Seite prüfen, ob schon eine Sprache gewählt ist - dann überspringst du den Negotiation-Teil einfach.

Außerdem mußt du damit rechnen, dass deine Vorauswahl dem Benutzer nicht behagt! Es muß also möglich sein, per Link (und Parameter im Link) die Sprache zu wechseln. Sollte auch relativ leicht gehen: Wenn der Sprachparameter übergeben wird, einfach die gewählte Sprache in der Session ändern, und gut ist. Eine Abfrage, ob die neue Sprache überhaupt existiert, sollte natürlich sein - der Benutzer könnte ansonsten auch mal rumspielen und das System testen!

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
0 39

httpd.conf

andy
  • webserver
  1. 0
    Christoph Schnauß
    1. 0
      Christian Seiler
      1. 0
        Christoph Schnauß
        1. 0
          Christian Seiler
        2. 0
          Der Linker aus www.php4-forum.de
          1. 0
            Christoph Schnauß
            1. 0
              Christian Seiler
              1. 0

                RFC2616-konformes parsen von Accept-Language

                Christian Seiler
                • php
                1. 0
                  Orlando
                  1. 0
                    Christian Seiler
                    1. 0
                      Orlando
                      1. 0
                        Christian Seiler
                        • menschelei
                        1. 0

                          (OT) Kein spezifisches Thema ;-)

                          Orlando
                          1. 0

                            (OT) Nichts besonderes ;-)

                            Christian Seiler
                            1. 0

                              (OT) Chat-o-Rama ;-)

                              Orlando
                              1. 0

                                (OT) Ähm, ja, irgendein Titel halt ;-)

                                Christian Seiler
  2. 0
    Christian Seiler
  3. 0
    Sven Rautenberg
  4. 0
    andy
  5. 0
    andy
  6. 0
    andy
    1. 0

      ACCEPT_LANGUAGE

      Der Linker
      • php
      1. 0
        Christian Seiler
        1. 0
          Der Linker
          1. 0
            Linker
          2. 0
            Christian Seiler
            1. 0
              Der Linker
              1. 0
                Christian Seiler
                1. 0
                  Der Linker
                  1. 0
                    Christian Seiler
                    1. 0
                      Der Linker
                      1. 0
                        Christian Seiler
                        1. 0
                          Der Linker
                          1. 0
                            Christian Seiler
                            1. 0

                              Auf Wiedersehen

                              Der Linker
                              • menschelei
                        2. 0
                          Harry
                          1. 0
                            Harry
                          2. 0
                            Christian Seiler