给出以下脚本:
<?php
syslog(LOG_INFO,'$_GET: '.print_r($_GET,1));
var_dump($_GET);
?>
使用http://www.example.com/testing/chrome.php?x=123作为URI会产生预期结果:
array(1) { ["x"]=> string(3) "123" }
但是在查看系统日志和Apache访问日志时,我有另一个名为“cid”的GET变量,当使用Chrome浏览器版本39.0.2171.71 m(但不是FF或IE)时,其值为“favicon.ico”。 / p>
导致这种情况的原因是什么,是否有办法防止我的服务器因每次请求被击中两次?
系统日志
Dec 7 07:33:09 devserver test: $_GET: Array#012(#012 [x] => 123#012)
Dec 7 07:33:09 devserver test: $_GET: Array#012(#012 [cid] => favicon.ico#012)
Apache日志
192.168.1.1 - Michael [07/Dec/2014:07:33:09 -0800] "GET /testing/chrome.php?x=123 HTTP/1.1" 200 36 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"
192.168.1.1 - Michael [07/Dec/2014:07:33:09 -0800] "GET /favicon.ico HTTP/1.1" 200 46 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"
答案 0 :(得分:3)
导致这种情况的原因是什么,是否有办法防止我的服务器因每次请求被击中两次?
Chrome和其他浏览器会在/favicon.ico
中查找您网站的图标。在那里放一个空文件,而不是让你的脚本处理该URL,你应该全部设置。
答案 1 :(得分:0)
避免这种情况的最佳方法是添加一个空的图标
<link rel="shortcut icon" href="#" />