按原产国重定向到不同版本的网站

Posted

技术标签:

【中文标题】按原产国重定向到不同版本的网站【英文标题】:Redirect to differant version of the website by country of origin 【发布时间】:2014-12-31 17:15:39 【问题描述】:

我有两个站点,一个针对美国,它位于域 .com 的根目录中,并且我在一个名为 /uk 的目录中针对英国客户有一个站点副本。

这是我设置的代码,当我使用测试空白 php 页面时可以正常工作,我正在使用 geoplugin 类。

<?php ob_start();?>
<?php require_once('geoplugin.class.php');$geoplugin = new geoPlugin(); ?>
<?php $country = $geoplugin->locate();?>

        <?php
        $countryName= $geoplugin->countryName ;
        $ukCountry = 'http://www.mywebsite.com/uk/';
        $mainSite = 'http://www.mywebsite.com/';


//UK 
         if ($countryName =="United Kingdom")
          

                    header('Location: '.$ukCountry);
          else

                    header('Location: '.$mainSite);

?>

我正在通过包含语句连接到上述页面,并且作为测试工作正常。

但我想要发生的是,当访问者来到主站点,然后检查原籍国,如果国家是英国,然后转发到英国版本。

我想在 Wordpress 网站上安装它,但是当我放置“包含”语句时出现错误

警告:无法修改标头信息 - 标头已由

发送

我已经阅读了很多关于输出缓冲的内容,并且我尝试了很多方法来让它工作,但我无法让它正确转发。

我知道上面的代码可能会出现无限循环,但如果要停止,我会删除 else 语句。

基本上我希望网站检查国家是英国,如果这样转发到英国网站,如果不是正常加载页面。

欢迎提出任何建议。

【问题讨论】:

你试过内置函数 wp_redirect 吗? codex.wordpress.org/Function_Reference/wp_redirect你的情况,请阅读***.com/questions/8028957/… 另一种解决方案是使用apache重写规则和geoIP模块 您在 WordPress 网站的哪个位置包含它? 看看***.com/questions/8028957/… 请发布完整的错误 【参考方案1】:

首先,您可以使用Maxmind 进行地理定位。 然后在 word press 中创建 plugin_in 并在 work press 中使用 HOOK 系统来使用 init Hook 钩住你的代码。

【讨论】:

我已经在使用一个可以正常工作的插件,这是导致错误的 wordpress 的实现。

以上是关于按原产国重定向到不同版本的网站的主要内容,如果未能解决你的问题,请参考以下文章

重定向到网站的 https 版本?

具有不同 CSS 文件的本地化网站

Joomla 位置重定向

与GET参数不同的重定向

在不同的浏览器版本中检查我的网站是不是适合移动设备

php实现在不同国家显示网站的不同语言版本