Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nerdies24/446c7d5892f31a438af7930c1796e4fa to your computer and use it in GitHub Desktop.
Save Nerdies24/446c7d5892f31a438af7930c1796e4fa to your computer and use it in GitHub Desktop.
Besuchern die richtig Browsersprache anzeigen lassen

Besuchern die richtig Browsersprache anzeigen lassen

Machen Sie bitte vor dem Hochladen ein Back-up Ihrer jetzigen .htaccess Datei.

Wir nehmen an, dass deutsche, englische und spanische Besucher zu Deinen Website- Besuchern gehören. Das Ziel ist, allen Besuchern die richtig Seite mit seiner / ihrer Browsersprache anzeigen zu lassen. WordPress darf hierbei in keinem Unterverzeichnis Deiner Domain installiert sein.

Deutsche Besucher sollen auf https://dein-seite.de/de weitergeleitet werden

Englische Besucher sollen auf https://dein-seite.de/en weitergeleitet werden

Spanische Besucher sollen auf https://dein-seite.de/es weitergeleitet werden

Die .htaccess-Datei könnte dann mit folgenden Zeilen ergänzt werden:

# Spracherkennung und Weiterleitung
# Deutsch
RewriteCond %{HTTP:Accept-Language} ^de.*$ [NC]
RewriteRule ^$ /de/ [L,R=302]
# Englisch
RewriteCond %{HTTP:Accept-Language} ^en.*$ [NC]
RewriteRule ^$ /en/ [L,R=302]
# Spanisch
RewriteCond %{HTTP:Accept-Language} ^es.*$ [NC]
RewriteRule ^$ /es/ [L,R=302]
# Standardsprache (de)
RewriteCond %{HTTP:Accept-Language} !^.*(de|en|es).*$ [NC]
RewriteRule ^$ https://%{HTTP_HOST}/de/ [R,L]

Beim Aufruf der Startseite (https://dein-seite.de) erfolgt jetzt anhand der Browser-Sprache eine Weiterleitung nach:

https://dein-seite.de/de (für deutsche Besucher mit deutscher Browser Einstellung)

https://dein-seite.de/en (für englische Besucher mit englischer Browser Einstellung)

https://dein-seite.de/es (für spanische Besucher mit spanischer Browser Einstellung)

Wenn keine Sprache zutrifft (z.B. Japanisch) wird die Standardsprache deutsch verwendet

Eine .htaccess Alternative wäre:

# Deutsch
RewriteCond %{HTTP:Accept-Language} ^((?!en|es).)*de.*$ [NC]
RewriteRule ^$ https://%{HTTP_HOST}/de/ [R,L]

# Englisch
RewriteCond %{HTTP:Accept-Language} ^((?!de|es).)*en.*$ [NC]
RewriteRule ^$ https://%{HTTP_HOST}/en/ [R,L]

# Spanisch
RewriteCond %{HTTP:Accept-Language} ^((?!de|en).)*es.*$ [NC]
RewriteRule ^$ https://%{HTTP_HOST}/it/ [R,L]

# Standard Sprache (de)
RewriteCond %{HTTP:Accept-Language} !^.*(de|en|es).*$ [NC]
RewriteRule ^$ https://%{HTTP_HOST}/de/ [R,L]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment