给定以下脚本:
<?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”。
是什么原因造成的,是否有办法防止我的服务器在每次请求时被命中两次?
系统日志
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"
最佳答案
What causes this, and is there a way to prevent my server from being hit twice for each request?
Chrome 和其他浏览器将在 /favicon.ico
中查找您网站的图标。将一个空文件放在那里而不是让您的脚本处理该 URL,您应该已经准备就绪。
关于php - Chrome favicon.ico GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27344435/