1

我正在尝试实现基于语言的重定向。我们的网站有不同语言的子域,即 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 时语言会改变

使用此代码时是否有任何服务器/负载影响?有没有更好的方法来实现这一点?

4

0 回答 0