<?php
$sites = array(
"en" => "http://webzp.com.ua/",
"ru" => "http://webzp.com.ua/ru",
"be" => "http://webzp.com.ua/be",
);
// Get 2 char lang code
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// Set default language if a '$lang' version of site is not available
if (!isset($sites[$lang]))
{
$lang = ‘en’;
}
// Finally redirect to desired location
header('Location: ' . $sites[$lang]);
exit ;
?>
所以在 ru 上或它工作正常并重定向到/ru/,但在"en"上显示错误"重定向太多"请帮助,谢谢。
将用户重定向到http://DOMAIN/lang
这一事实不会更改浏览器发送HTTP_ACCEPT_LANGUAGE
变量的值。
您可以更改代码以检查 URL 中的语言和 HTTP_ACCEPT_LANGUAGE
的值。
您还应该考虑何时不重定向用户(否则您将像现在一样拥有无限循环)。