这个问题有一段时间了!无论如何,我已经下载了 Maxminds GEOIP php 模块并将其上传到我的服务器,然后我将这部分代码放入我的 index.php 页面
<?php
require_once("geoip/geoip.inc");
$gi = geoip_open("geoip/GeoIP.dat",GEOIP_STANDARD);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
$my_countriesrow = array('AD','AE','AF'......and so on);
$my_countrieseuro = array('AN','AT','BA','BE','BG','BY'.......and so on);
/* $my_country = array('GB','UK'); */
if (!in_array(strtolower($country), $my_countriesrow)){
header('Location: https://www.website.com/row/index.php');
exit();
}
elseif (!in_array(strtolower($country), $my_countrieseuro)){
header('Location: https://www.website.com/euro/index.php');
exit();
}
else {
header('Location: https://www.website.com/index.php');
exit();
}
?>
我已将该页面上传到我的服务器,并且在 Google Chrome 中我得到了......这个网页有一个重定向循环
The web page at https://www.website.com/index.php has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.
和火狐一样!任何人都有任何想法,因为我全力以赴....
提前致谢!
-菲利普·杜斯
更新
OK 已经决定走 .HTACCESS 路线了!我已将我的 htaccess 文件编辑为如下所示....
GeoIPEnable On
GeoIPDBFile /geoip/GeoIP.dat
# Europe
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AM$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AO$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AQ$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AR$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AS$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AW$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AX$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AZ$
RewriteRule ^(.*)$ https://www.Website.com/europe$1 [L]
# Rest Of World
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AD$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AE$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AF$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AG$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AI$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AL$
RewriteRule ^(.*)$ https://www.Website.com/row$1 [L]
但是由于某种原因,我收到了 500 个内部错误,即使在每个国家/地区都输入了它仍然对我不起作用!真的不知道现在该怎么做,因为我已经使用不同的 php 脚本和现在这个工作了一个多星期。希望任何人都可以帮助提前再次感谢,我问的原因是有很多国家代码要手动输入,所以不想把它们都放进去却发现它不起作用!再次感谢!
-菲利普