听起来好像每次加载任何页面时,如果它满足条件,就会尝试重定向。因此,如果您是从日本观看,并且访问顶级网站,您将被重定向。但当你被重定向时header.php
代码将再次看到您正在从日本观看,并尝试重定向。等等,等等。
因此,解决眼前问题的方法是添加一个条件。仅当访问者当前正在查看顶级网站时才尝试重定向。
<?php
// Only if this is the top-level site
if(get_current_blog_id() == 1) {
$a = unserialize(file_get_contents(\'http://www.geoplugin.net/php.gp?ip=\'.$_SERVER[\'REMOTE_ADDR\']));
$countrycode= $a[\'geoplugin_countryCode\'];
if ($countrycode==\'JP\'){
header( \'Location: https://mywebsite.com/jp/\' );
exit;
}
}
?>
然而,这可能并不理想。如果您有其他访问者将在顶级网站上查看的内容,则每次他们加载页面时,此检查都会运行并减慢速度。因此,最好找到一种cookie访问者的方法,而不是每次加载页面时都运行服务器端逻辑。
此外,如果您已将此代码添加到现有主题的header.php
文件,它将在每次更新主题时被覆盖。因此,如果这仍然是您想要采取的方法,那么您将需要创建一个子主题。