PHP网站根据浏览器语言跳转,自写版本对比GPT优化版本
自己写的版本
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
if (preg_match("/zh-c/i", $lang))
header('Location: https://zh.aaa.bbb');
else if (preg_match("/zh/i", $lang))
header('Location: https://zh.aaa.bbb');
else if (preg_match("/en/i", $lang))
header('Location: https://en.aaa.bbb');
else if (preg_match("/de/i", $lang))
header('Location: https://de.aaa.bbb');
else header('Location: https://www.aaa.bbb/');
?>
GPT版本的
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // 只取前两位,更准确地判断语言
$redirects = [
'zh' => 'https://aaa.bbb.ccc',
'en' => 'https://ccc.aaa.bbb/',
'de' => 'https://bbb.aaa.ccc',
];
$defaultRedirect = 'https://ccc.aaa.bbb/';
if (array_key_exists($lang, $redirects)) {
header('Location: ' . $redirects[$lang]);
} else {
header('Location: ' . $defaultRedirect);
}
?>