#.htaccess
Вопрос:
Я добавил приведенный ниже код в файл .htaccess.
RewriteCond %{HTTP:Accept-Language} ^en [NC] RewriteRule ^$ https://www.website.com/ [L,R=301] RewriteCond %{HTTP:Accept-Language} ^nl [NC] RewriteRule ^$ https://nl.website.com/ [L,R=301] RewriteCond %{HTTP:Accept-Language} ^tr [NC] RewriteRule ^$ https://tr.website.com/ [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(en|nl|tr)/?$ index.php?lang=$1 [QSA,NC,L]
Код перенаправляется на поддомены турецкого и голландского языков в зависимости от языка, введенного в браузере.
Английский сайт www открыт на английском и других языках.
Однако, если пользователь добровольно меняет язык и возвращается на домашнюю страницу, .htaccess снова перенаправляет на язык браузера.
Моя просьба состоит в том, чтобы сохранить выбор страницы на измененном языке.
Кто-нибудь знает, как я могу это сделать?
Комментарии:
1. У вас есть только один URL-адрес «домашней страницы»? Ваши редиректы перенаправляют только домашнюю страницу? Однако ваша переписка в конце ищет код языка в URL-пути?
2. Единственное, что вы можете сделать, это игнорировать любой язык принятия, когда пользователь запрашивает один из этих языковых доменов для начала. Поэтому , если они явно запрашивают
tr.website.com
, то пусть остаются там, независимо от того, что может сказать Язык принятия. Или, другими словами , только по их запросуwww.website.com
вы можете перенаправить в другое место в зависимости от языка. Конечно, это не будет работать для английского языка в вашей настройке, потому что для этого у вас нет поддомена языка, только общийwww
.3. Спасибо вам за ответы. У меня не только ОДНА домашняя страница. У меня есть три домашние страницы для каждого языка.