【问题标题】:Redirection of specific IP address to specific page in PHP将特定IP地址重定向到PHP中的特定页面
【发布时间】:2014-01-24 07:36:35
【问题描述】:

我已使用以下代码将特定 IP 地址重定向到特定页面/网站。它在 Google Chrome 中运行良好,但在 Firefox 和 Internet Explorer 中,我收到 错误: “页面未正确重定向 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。”

代码:

<?php

$visitor = $_SERVER['REMOTE_ADDR'];

if(preg_match("/192.168.1.187/",$visitor)) { 
header('Location: http://yahoo.com'); 
} 

else { 
header('Location: http://www.google.com'); 

}; 
?>

【问题讨论】:

  • 您是否将访问者引导至同一页面?好像您创建了一个重定向循环。
  • @OscarBroman 如果条件位置为空并且请求的网页应该打开并且它在 chrome 上工作正常。
  • 您的代码中有一个错字 IMO。在 else 部分括号之后有一个分号。
  • @user1788171 我已经删除了它,但它仍然无法在 Firefox 和 IE 中运行
  • 终于!!!解决方法是去掉 header('Location: yahoo.com');从 IF 条件...

标签: php redirect httpresponse


【解决方案1】:

似乎有无限重定向到 URL ,清除一次 cookie 并尝试在 URL 前添加 HTTPS 并试一试。

还在 header 函数后添加 exitdie。这样就可以了。

喜欢..

<?php

$visitor = $_SERVER['REMOTE_ADDR'];

if(preg_match("/192.168.1.187/",$visitor)) { 
header('Location: https://yahoo.com');
exit; //<-- Here 
} 

else { 
header('Location: https://www.google.com'); 
exit; //<-- Here
}; 
?>

【讨论】:

  • google.com'); } ?>
【解决方案2】:

在 Nightly 29 (Firefox) 中测试了脚本。我根本没有收到错误。但是您应该在每个header 后面添加exit,以便脚本中断。也许你应该在雅虎主页前添加www

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2021-11-13
    • 2017-08-16
    • 1970-01-01
    相关资源
    最近更新 更多