2017-02-03 3 views
0

Пожалуйста, помогите, у меня есть сайт, где английский язык является основным языкомHtaccess петля языка редирект

Он имеет языковые папки:

/de 
/es 
/it 
/fr 

Там нет собственного английской папки как у меня есть английский язык как основные домен так английские файлы в общественных местах HTML папке

у меня есть Htaccess

RewriteCond %{REQUEST_URI}   ^/$ 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R=301] 

Это отлично работает от этой ошибки Существует петля

Если языковой браузер НЕ английский, а испанский или французский и т. Д., Они не могут щелкнуть по английскому флагу, чтобы перенести их на английскую версию, которая является основным доменом без подпапки он просто перенаправляет их обратно на свой родной язык

Есть ли простой способ исправить это без создания/en?

Большого спасибо

ответ

0

Да, что я предлагаю устанавливаю ?lang=en по вашей ссылке на английский язык и изменение правила:

RewriteCond %{QUERY_STRING} !=lang=en 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R] 

А также изменение редиректого временные, которое я сделал выше, или перенаправление будет сохранено в их браузере.

Я удалил проверку request_uri, поскольку она уже проверена в вашем RewriteRule.

+0

Спасибо, попробуем, не уверен, что я полностью понимаю, но попробую! – Paul

+0

Это не работает, так как отображается pagecant ?? – Paul

Смежные вопросы