我有一个用 3 种语言制作的网站,但(可能)会扩展。所以我在数据库上创建了一个表,我在其中插入了网站的语言。
作为 index.php,我有一个脚本。如果检测到的 URI 是“/”,则脚本重定向到 /language/index.php。
我现在想要一个基于 HTTP_ACCEPT_LANGUAGE 动态重定向的脚本。我的问题是,我制作的以下脚本仅适用于第一次 foreach 运行。
$abbr = $link->query("SELECT abbr AS langs FROM LANGS");
while($langs_db = mysqli_fetch_array($abbr)){
    $site_langs[] = $langs_db['langs'];
}
$client_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
foreach($site_langs as $lang){
    switch($client_lang){
        case $client_lang == $lang:
            header("location: http://www.mysite.com/$lang/index.php");
        break;
        default:
            header("location: http://www.mysite.com/$lang/index.php");
        break;
    }
}
我想到了一个解决方案,例如:
case $client_lang == $lang:
    $find "location: http://www.mysite.com/$lang/index.php";
    break;
default:
    $not_find = "location: http://www.mysite.com/$lang/index.php";
    break;
接着:
  if($find != ''){
       header($find);
  }else{
       header(not_find);
  }
但我不确定这是一个好主意......
谢谢!