Magento存储重定向多次发生

时间:2014-01-13 09:35:54

标签: php magento redirect

我正在使用maxmind geo ip数据库,我在index.php上有以下代码,以便将用户从中国重定向到网站的中文商店

Mage::app();
$geoIP = Mage::getSingleton('geoip/country');
$country = $geoIP->getCountry();
if(strcmp($country, 'CN')== 0)
{
     $mageRuntType = 'store';
     $mageRunCode = 'cn';
}

问题是,如果用户从中国访问该网站并通过网站上的商店更换器手动将商店更改为英国商店,然后再访问另一个页面,则会再次返回中国商店。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

最简单的方法是在第一次重定向到CN商店时设置与会话一起过期的Cookie。
然后,如果设置了该cookie,则不进行重定向。类似的东西:

if (!isset($_COOKIE['redirected'])){
    Mage::app();
    $geoIP = Mage::getSingleton('geoip/country');
    $country = $geoIP->getCountry();
    if(strcmp($country, 'CN')== 0)
    {
        $mageRuntType = 'store';
        $mageRunCode = 'cn';
        setcookie('redirected', 1, 0)
    }
}