我最近一直在积极地使用无协议的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)
由于该网站有效,并且确实没有任何实际可见的问题,我只是好奇为什么会在后台发生这种情况,如果有其他人见过这样的话,我很好奇。