PHP日志出现favicon-96x96.png未找到路由报错,无法复现求排查思路
这类请求的常见来源
- 特定客户端硬编码默认路径:Google TV、旧版Chrome for Android、部分嵌入式安卓设备、第三方爬虫/站点监控工具不会解析页面head中的link标签配置,会主动拼接
/assets/前缀请求常见尺寸的favicon资源,96x96正是这类设备偏好请求的规格之一。 - 旧缓存残留:如果你的项目历史上曾用过assets目录存放静态资源,或是修改过favicon的存放路径,部分用户浏览器缓存、CDN节点残留的旧规则会触发零星的旧路径请求。
- 局部配置异常:部分边缘路由场景下,
asset()函数的基础路径可能被动态修改为/assets/,只有满足特定触发条件时才会输出带/assets前缀的favicon路径,这类异常触发概率极低所以难以复现。
问题复现方法
- 直接构造请求:手动访问
https://你的站点域名/assets/favicon-96x96.png,即可触发和日志完全一致的404报错。 - 特定设备测试:使用Google TV设备、Android 8及更低版本的Chrome浏览器访问站点,抓包查看资源请求即可复现默认请求/assets路径下favicon的行为。
- 模拟指定UA请求:将请求UA修改为Google TV、安卓嵌入式设备的UA,再访问站点,观察是否会主动发起对应路径的favicon请求。
可选修复方案
如果要消除这类报错,不需要修改现有页面配置,任选一种操作即可:
- 在public目录下新建assets文件夹,将所有favicon文件复制一份到该目录下
- 给项目添加路由重定向规则,将
/assets/favicon-*格式的请求全部301重定向到根目录下对应的favicon文件
内容的提问来源于stack exchange,提问作者The50
相关产品推荐
相关产品推荐

