【发布时间】: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你的情况,请阅读stackoverflow.com/questions/8028957/…
-
另一种解决方案是使用apache重写规则和geoIP模块
-
您在 WordPress 网站的哪个位置包含它?
-
请发布完整的错误
标签: php wordpress ip-geolocation