多语言网站 - 重定向

时间:2013-04-25 16:34:42

标签: php multilingual

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

时,语言会发生变化

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

0 个答案:

没有答案