最近,我一直在积极地为几乎所有外部内容使用无协议 URL,并且一切都运行良好。我最近决定开始从我的服务器获取所有 404 的警报,突然间充斥着与使用“//”链接到外部内容有关的错误。
$_SERVER 输出显示:
["REDIRECT_URL"]=>
string(46) "/www.googleadservices.com/pagead/conversion.js"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(47) "//www.googleadservices.com/pagead/conversion.js"
["SCRIPT_NAME"]=>
string(10) "/index.php"
["PHP_SELF"]=>
string(10) "/index.php"
["REQUEST_TIME"]=>
int(1373437449)
我正在运行 Zend Framework MVC,所以所有内容都应该被路由到 index.php 进行处理,但是外部的东西加载得很好。转到带有这些链接的页面不会通过 firebug 引发错误,但是当它重定向到单斜杠“REDIRECT_URL”时,我会被错误淹没,如上所示。
这意味着: //www.googleadservices.com/pagead/conversion.js
被重定向到:/www.googleadservices.com/pagead/conversion.js
这实际上意味着: http://www.mydomain.com/www.googleadservices.com/pagead/conversion.js 这变成了一个错误:异常信息 - 指定的消息无效控制器(www.googleadservices.com)
由于该站点有效并且确实没有任何实际可见的问题,我只是好奇为什么会在后台发生这种情况,并且很好奇其他人是否曾经见过这样的事情。