【发布时间】:2013-06-01 22:02:32
【问题描述】:
在我们的广告服务器上,我们使用以下简单的 PHP 脚本重定向到广告的着陆页:
<?php
$lp=array_key_exists('lp',$_REQUEST)?trim($_REQUEST['lp']):"";
$location = sprintf('Location: %s', $lp ) ;
header( $location ) ;
?>
脚本采用其lp 参数并重定向到该URL。目的是让我们可以扫描我们的访问日志以跟踪点击次数(URL 还包含一个 id 参数,脚本会忽略该参数)。
我们有一个客户(我目前知道的)不能始终如一地工作,但只在 IE 8 和更早版本中工作。有问题的网址是:
http://webutil.bridgebase.com/v2/ad_lp.php?id=340&lp=http%3A%2F%2Ftravelinsingles.com%2Fhome.htm
这应该重定向到http://travelinsingles.com/home.htm,但有时它会转到http://webutil.bridgebase.com/home.htm(不存在)。它似乎总是发生在第一次点击广告时;有时后续点击会正确地跟随重定向,有时他们会继续转到错误的 URL。
我在我们的网络服务器上执行了数据包捕获,看起来我们正在发送正确的标头:
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.2.1
Date: Thu, 06 Jun 2013 01:39:12 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/5.4.15-1
Location: http://travelinsingles.com/home.htm
我捕获了失败和成功的重定向,并且标题是相同的,除了日期。
我使用的是 Mac,所以我使用 BrowserStack 来测试 IE,这限制了我在客户端的调试能力。有谁知道这可能是什么原因造成的,我们是否可以采取一些措施来解决它?
我用 BrowserStack 的截图功能重现了这个问题:
http://www.browserstack.com/screenshots/3659c3b992a1738594d2fd370caef2852fecb3fa
【问题讨论】:
-
这个网址是不是通过电子邮件发送的?
-
这可能与您的问题无关,但我很好奇 - 您的 IE8 运行在什么渲染模式下?怪癖还是标准模式?我在 IE8 的 quirks 模式下遇到了一些奇怪的东西。
-
@Dagon 不,这是一个锚的 href,其内部 HTML 是广告图片。但是我已经在 BrowserStack 重现了这个问题,只需在浏览器中输入 URL。
-
@Revent Quirks 模式在 BrowserStack 上默认是关闭的,我相信。
标签: php redirect internet-explorer-8 internet-explorer-7