当前位置: 首页 > news >正文

php icouv,PHP_简单谈谈favicon,favicon.ico介绍 favicon.ico是个什 - phpStudy

简单谈谈favicon

favicon.ico介绍

favicon.ico是个什么东西呢,也许见得太多都习以为常了(我就是这样,直到写这篇文章之前才知道),看看维基百科的解释:

http://zh.wikipedia.org/wiki/Favicon

其实说白了就是这个东西,大部分网站都会在打开的浏览器tab最左侧显示这个小图标,这个就是favicon.ico

这个图标怎么设置的呢,有多少同学跟我一样对这个小细节习以为常了,但是不清楚怎么设置举个手(这里检讨下自己,有好多细节东西把脸都能碰肿,但我却不真正的了解他,更可怕的是我的潜意识里认为我了解他......)。

favicon设置

这个怎么设置呢,设置方法很简单,有两种法子:

默认放置在服务器根目录下面

就是将文件命名为favicon.ico并放在网站根目录下就可以,浏览器会自动方请求去获取http://host/favicon.ico,这个请求在浏览器中通过F12是看不到的,需要借助其他工具(比如说Fiddler)去看,或者打开服务器访问日志,比如我这个,nginx日志中会显示网页图标请求

"13/May/2015:16:07:31 +0800" "192.168.X.X" "test.test.com" "200" "GET /favicon.ico HTTP/1.1" "4409" ......

通过link标签修正网页图标位置和名称

这种方法就是通过html的link标签设置网页图表的位置和名称,就像下面这样

注意点

浏览器会缓存图标的信息,firefox我试了下是每隔一段时间(2分钟左右)就会请求一次favicon,chrome要删除数据才可以重新请求~~

这个有什么影响呢

发现这个问题是因为PHP框架,PHP框架通过pathinfo去解析路由,路由方式为【mod/controller.method】,如果不匹配的话就记录日志并返回404,我访问一个正确的路径也会报错说是路由不存在,但是接口返回是ok的,访问一个错误的路由会记录两条错误日志,这个是怎么回事呢,下面是我的nginx配置

server {

listen 80;

server_name test.test.com;

location / {

root /export/adsz/boss/php/sphp;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

rewrite ^/(.*)$ /index.php/$1 break;

}

}

nginx配置导致了这个问题的存在,浏览器请求一个接口的时候,会默认带上http://test.test.com/favicon.ico,这个时候报出路由错误就想的通了,浏览器发出两条请求,一条使我们想要的,另一条就是这个ico网页图标请求,这个问题解决方法也很简单,只需要在配置中添加这个图表或者将favicon请求定位到其他地方:

server {

listen 80;

server_name test.test.com;

location = /favicon.ico {

root /wwroot/public/images/;

}

location / {

root /wwroot/;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

include fastcgi_params;

rewrite ^/(.*)$ /index.php/$1 break;

}

}

总结

找到这个原因并修改后,我又仔细看了看nginx配置,发现其他虚拟主机都有配置这个favicon.ico的匹配规则!囧。。。,总结下,就是要多看看,多想想为什么,不要对很多东西失去兴趣、见怪不怪

以上所述就是本文的全部内容了,希望大家能够喜欢。相关阅读:

JS中的forEach、$.each、map方法推荐

windows7双磁盘管理图文教程

Android Force Close 出现的异常原因分析及解决方法

php使用MySQL保存session会话的方法

Jedis出现connection timeout问题解决方法(JedisPool连接池使用实例)

jQuery实现下拉框左右选择的简单实例

sql获取分组排序后数据的脚本

java实现分段读取文件并通过HTTP上传的方法

JavaScript设置获取和设置属性的方法

Win10商店应用和游戏年龄评级要求曝光

C#代码实现对AES加密解密

jquery+html5烂漫爱心表白动画代码分享

javascript得到当前页的来路即前一页地址的方法

php,js,css字符串截取的办法集锦

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 触发器的简单应用
  • opencart mail.php,opencart联系表单邮件失败的解决办法
  • 创业者应避免的六件事
  • 113 php的位运算符不包括,【后端开辟】PHP的位运算符不包括谁人标记
  • SharpDevelop
  • matlab上机实习报告,Matlab上机实习报告
  • The Journey of the Lunch Launcher and Store and Forward Messaging
  • linux 清除php,linux如何清空某目录内文件
  • Channel 9: Offline Data Synchronization Services in Visual Studio 2008
  • php redis连接codis,redis客户端连接codis后报错
  • python字典输入键查对应的值,python字典通过值反查键的实现(简洁写法)
  • Google手机操作系统Android应用开发入门
  • oracle10g数据库热备份,Oracle数据库热备份文件过大收缩方法
  • java.sql.SQLException: ORA-22905: 无法从非嵌套表项访问行,问题及解决
  • PL/SQL表(oracle内存表)---table()函数用法
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【Linux系统编程】快速查找errno错误码信息
  • angular组件开发
  • C学习-枚举(九)
  • DataBase in Android
  • gf框架之分页模块(五) - 自定义分页
  • Github访问慢解决办法
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • php面试题 汇集2
  • Python 基础起步 (十) 什么叫函数?
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python爬虫--- 1.3 BS4库的解析器
  • redis学习笔记(三):列表、集合、有序集合
  • 聊聊redis的数据结构的应用
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端临床手札——文件上传
  • 前端路由实现-history
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 思维导图—你不知道的JavaScript中卷
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 系统认识JavaScript正则表达式
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 自制字幕遮挡器
  • 回归生活:清理微信公众号
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #if等命令的学习
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (09)Hive——CTE 公共表达式
  • (2)nginx 安装、启停
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (void) (_x == _y)的作用
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)负载均衡,回话保持,cookie
  • (转载)hibernate缓存
  • .cfg\.dat\.mak(持续补充)