根据地理位置在首次访问时重定向用户

时间:2013-03-02 作者:Nix

我的项目有两个版本的网站-美国和国际。这不是本地化,语言是一样的,只是内容发生了变化。我已经为美国版本创建了子域,并在主域上保留了国际版本。

现在,我在谷歌上搜索解决方案,默认情况下将美国用户重定向到美国网站,并使用地理重定向插件(http://wordpress.org/extend/plugins/geographical-redirect/).

现在的问题是,每当我们的访问者试图打开国际版本时,这个插件都会重定向他们。我需要做的是,用户应该在第一次访问时被重定向到美国版本,然后通过我在美国网站上的推荐链接,访问者应该被允许访问国际版本并在网站上冲浪。但同样,如果用户试图直接打开网站,他应该被重定向到美国版本。

我该怎么做?

1 个回复
最合适的回答,由SO网友:Brooke. 整理而成

我会说使用$_SESSION[\'var\'] var或$_COOKIE[] 检查是否单击了链接。看起来插件正在调用geo_redirect_client_location 函数,然后重定向。

function geo_redirect_client_location(){
    $geo = new Geo_Redirect();
    $geo->checkIfRedirectNeeded();
}
我对这个插件不太熟悉,但我想:

<a href="example-intenational-sitelink.com/?show_intl=true">Link on US site to show Intl site</a>

然后在国际网站上:

If(isset($_GET[\'show_intl\']) && $_GET[\'show_intl\'] == "true"){
//set our cookie or session data here
}
然后修改/分叉插件(或找到正确的挂钩)

function geo_redirect_client_location(){
if(!isset(Cookie or Session){    
    $geo = new Geo_Redirect();
    $geo->checkIfRedirectNeeded();
}
}
基本上,这只是我将如何做的概述。你必须自己挖掘代码才能使其正常工作

结束

相关推荐

login_redirect for Mobile Web

我的网站的移动版本位于mywebsite.com/mobile 还有一个登录表单wp-login.php. 目前,当用户从主页登录时,如果他们不是管理员,则会重定向到他们的Buddypress配置文件如果他们从主页登录,我希望保持此状态,但是,如果他们从mywebsite.com/mobile, 我希望他们被重定向到mywebsite.com/mobile/dash.//REDIRECT USERS TO ACTIVITY PAGE WHEN THEY LOGIN add_filter( \"lo