перенаправление htaccess на поддомен в зависимости от Accept-Language

#regex #apache #.htaccess #mod-rewrite #subdomain

#регулярное выражение #apache #.htaccess #мод-перезапись #поддомен

Вопрос:

Я хотел бы, чтобы пользователи перенаправляли на языковой поддомен в зависимости от их «Accept-Language» (они смогут изменить его позже). Помимо других, я пробовал такие вещи, как

 RewriteEngine On    
SetEnvIf Accept-Language "([a-z][a-z])" LANGUAGE=$1
RewriteCond %{ENV:LANGUAGE} en
RewriteRule ^(.*)$ http://en.example.org/$1
  

Я также попробовал «RedirectMatch», но не смог найти способ добавить условия.

Ответ №1:

Вы можете использовать:

 RewriteEngine On

RewriteCond %{HTTP_HOST} !^en. [NC]
RewriteCond %{HTTP:Accept-Language} ^en- [NC]
RewriteRule ^ http://en.example.org%{REQUEST_URI} [L,NE,R=301]