我正在尝试实现基于语言的重定向。我们的网站有不同语言的子域名,例如es.domain.com // de.domain.com等。我想要做的是在所有页面上包含以下代码
<?php
$lng = array( 'en'=>'www', 'de'=>'de'); // more languages
$defaultLang = 'en'; // Index of the default (and fallback) language
$cookieName = "_dmLang"; // Set up the cookie name
$lang = trim(substr($_GET['lang'], 0, 2));
if (empty($lang)) $lang = trim($_COOKIE[$cookieName]);
if (empty($lang)) $lang = trim(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
if (empty($lang) || empty($lng[$lang])) $lang = $defaultLang;
setcookie($cookieName, $lang, time()+3600*24*30);
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$lng[$lang].".domain.com" . $_SERVER['REQUEST_URI']);
?>
当您致电/?lang = de
时,语言会发生变化使用此代码时是否存在任何服务器/负载影响?有没有更好的方法来实现这个?