使用Cloudflare重定向除美国以外的所有人

时间:2018-07-28 03:02:15

标签: php cloudflare

我想将国家/地区代码US重定向到特定页面,但将任何其他国家/地区重定向到另一个页面。

这是我尝试的代码

<?php
switch($_SERVER["HTTP_CF_IPCOUNTRY"]) {
  case: "US"
    header("Location: http://example.com/US");
  case: "OTHER"
    header("Location: http://example.com/OTHER");
}
?>

似乎无法正常工作,我只测试了clodflare部件,它确实显示了国家代码,所以我知道该部件正在工作,我猜测它与我的或其他代码有关,任何建议都将非常感谢!

1 个答案:

答案 0 :(得分:0)

好的,国家代码正在工作。添加默认值以代替OTHER进行切换:

switch($_SERVER["HTTP_CF_IPCOUNTRY"]) {
  case "US";
    header("Location: http://example.com/US");
    break;
  default:
    header("Location: http://example.com/OTHER");
}

请注意,原始代码中也存在语法错误。对于这种简单情况,我建议使用if...else代替switch

if($_SERVER["HTTP_CF_IPCOUNTRY"] == 'US'){
    header("Location: http://example.com/US");
}else{
    header("Location: http://example.com/OTHER");
}