如何基于浏览器语言重定向用户

时间:2010-02-28 18:57:40

标签: php javascript internationalization content-negotiation

  1. 我想基于浏览器语言重定向用户,我在这里想出了如何做到这一点,它运行正常,这里是代码(PHP):

    if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT']))
        header("location:index.php");
    else
        header("location:http://cn.gearor.com");
    
  2. 问题是我只想将用户从其他网站重定向或首次访问我的网站。这意味着我不希望用户阅读我网站的某些页面,当他们返回索引时,他们会重定向到其他页面。我的网站上也有一个链接,如:英文或中文,当用户从中文页面点击英文时,他们会转到index.php并重定向回中文页面,这会让用户无法访问英文页面。如何在PHP或JavaScript中解决此问题?

2 个答案:

答案 0 :(得分:6)

您可以设置会话变量,例如$ _SESSION ['lang'],如果未设置$ _SESSION ['lang'],则仅应用上述代码。 我的意思是:

if(!isset($_SESSION['lang'])){
  if(preg_match('/en-US/', $_SERVER['HTTP_USER_AGENT'])){
    $_SESSION['lang'] = 'en';
    header("location:index.php");
  }else{
    $_SESSION['lang'] = 'other';
    header("location:http://cn.gearor.com");
  }
}

答案 1 :(得分:-1)

很难理解你在说什么,如果你能澄清一点,但这就是我认为你要求的,Pastebin