Seite 1 von 1
Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 16:47
von Horst1234
Hallo,
mein Kunde hat eine zweisprachige Contenido-Installation (deutsch und englisch) und möchte nun gerne je nach Browsersprache einen automatisierten Aufruf:
deutscher Browser: deutsch
nicht-deutscher Browser: englisch
Läßt Sich so was umsetzten, im Forum fand ich nur
http://forum.contenido.org/viewtopic.ph ... GE#p106230, leider wird dort die Frage nicht beantwortet.
Vielen Dank aus Bremen,
Horst
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 18:03
von Spider IT
Hallo Horst,
da steht aber im nächsten Beitrag, dass es u.U. geht, wenn die .htaccess im ANSI-Format gespeichert ist, also sollten die Angaben korrekt sein (natürlich Domain und Sprachangabe in den URLs anpassen).
Gruß
René
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 19:09
von Horst1234
Hallo René,
ja peinlich, lesen müsste man können ...
Danke für deine schnelle Antwort, ich habs ausprobiert in der Art:
erhielt aber immer nur
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
auch wenn ich stattdessen
http://www.domain.com/1/startseite.html [L,R]
oder
http://www.domain.com/1/startseite.html/ [L,R]
schreibe bleibt das Ergebnis gleich.
Ich verwende con 4.8.15 mit mod_rewrite.
Grüße aus Bremen,
Horst
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 19:38
von xmurrix
Hallo Horst1234,
das Problem bei dir ist, dass jede Anfrage umgeleitet wird, auch die umgeleitete Anfrage, ist also eine Endlosschleife an Umleitungen.
Die Verwendung der Regel kann unter umständen auch kontraproduktiv sein, weil Einträge wie "en-US,en,de-DE" in der HTTP-Header Accept-Language immer auf die deutsche Seite gehen würde, obwohl hier der User als erste Preferenz amerikanisches Englisch angegeben hat. Außerdem möchte der User vielleicht die Sprache wechseln, d. h. wenn mal eine Sprache gewählt wurde, sollte man dem User immer die Seite mit der präferierten Sprache zeigen. Das würde auch nicht mit den jetzigen Regeln in der .htaccess gehen. Solche komplizierten Bedingungen kann man schwer in der.httaccess lösen, ich würde vorschlagen, du machts das Serverseitig.
Dort kann man HTTP-Header Accept-Language besser analysieren und darauf reagieren.
Gruß
xmurrix
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 19:43
von Spider IT
Hmmm, das hier scheint zu funktionieren:
Code: Alles auswählen
# Falls Sprache deutsch:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de [L,R]
# Falls andere Sprache:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP:Accept-Language} !^de [NC]
RewriteRule ^$ /en [L,R]
(laut Anleitung von
http://www.tudas.de/blog/uncategorized/ ... t-htaccess)
Gruß
René
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mi 14. Nov 2012, 19:50
von xmurrix
Ja, das sieht gut aus.
Re: Automatische Sprachauswahl (über Browsersprache)
Verfasst: Mo 17. Dez 2012, 13:11
von walter999
Generell funktioniert es auch noch mit dem Auslesen von $_SERVER['HTTP_ACCEPT_LANGUAGE'] und dem verarbeiten des ausgelesenen Werts. Man kann dann z.b. sagen, wenn "de" und noch keine Sprache gsetzt dann auf Sprache DE umschalten. Wenn manuell eine Sprache gewählt oder wenn man über einen Deeplink von den Suchmaschinen kommt dann mache nichts.
Außerdem kann man weitere Kriterien dazu nehmen wie evtl. eine IP-Adressweiche.
Wir haben solche Weichen sowohl für contenido-Webseiten als auch für Shopsysteme schon programmiert. Bei einem Shopsystem kann man z.b. noch weitere Parameter damit steuern wie z.B. die Währung etc.
Ist ein interessantes Thema und wollte ich nur noch ergänzen dass man es nicht nur über die .htaccess machen kann.
Viele Grüße
Walter