Я думаю, что «не работает» означает «бесконечные циклы перенаправления для носителей английского языка».
Все, что вам нужно, это способ вообще не перенаправлять, когда выбран английский язык. Добавьте ассоциативный массив, который отображает поддерживаемые языки в место перенаправления, затем сделайте следующее:
- Схватить
$lang
с $_COOKIE["lang"]
.
- Если
$lang
не поддерживается (или даже не установлен), то $lang = getDefaultLanguage()
.
- Если
$lang
не 'en'
, то перенаправить, в противном случае отобразить домашнюю страницу на английском языке без перенаправления вообще.
Вы можете использовать ассоциативный массив для (2) и (3). Основная стратегия проста: вообще не перенаправлять, если язык оказывается английским. Возможно, вы захотите установить свой языковой файл cookie, если у вас есть действительный язык.