Назад | Перейти на главную страницу

Как перенаправить на заданную страницу в зависимости от языкового стандарта пользователя?

Есть ли способ перенаправить пользователя в зависимости от языкового стандарта браузера?

Например, я хотел бы перенаправить на страницу с именем index.en.html всех пользователей, у которых языковой стандарт браузера не установлен на французский.

Могу ли я сделать это с помощью Apache и .htaccess?

Внимательно просмотрев документацию, я нашел вариант MultiViews.

Options MultiViews
AddLanguage fr .fr
AddLanguage en .en
<IfModule mod_negotiation.c>
     LanguagePriority fr en
</IfModule>

Ты должен уметь соответствовать переменная среды %{HTTP_ACCEPT_LANGUAGE} или заголовок HTTP Accept-Language (с участием %{HTTP:Accept-Language}) для fr или fr-fr.

Ты можешь использовать mod_rewrite и проверить на Accept-Language заголовок. Например:

RewriteCond %{HTTP:Accept-Language} en-us
RewriteRule ^(.*)$ /en-us/$1 [L]

А еще лучше взгляните на mod_negotiation

http://httpd.apache.org/docs/2.2/content-negotiation.html