本站友链前Favicon图标获取API接口一直都是用自建的,但由于请求参数不方便缓存插件及CDN缓存就停用了,前几天本主题使用的第三方接口失效后作者给出了自建办法,还贴出了源码GitHub地址,发现请求链接还可以伪静态,在此做个记录和分享。
GitHub地址:https://github.com/owen0o0/getFavicon
源码下载:https://wws.lanzoux.com/iZqcne6nusb 密码:yxt521
食用方法:
1、解压后将里面的favicon文件夹上传到网站根目录
2、需要favicon目录中的cache 文件夹 755 权限
3、API接口:你的域名链接/favicon/get.php?url=
示例:https://api.test.com/favicon/get.php?url=https://www.baidu.com
伪静态规则:
# Nginx规则 rewrite ^/favicon/(.*)\.png$ /favicon/get.php?url=$1; # Apache 规则 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^favicon/(.*)\.png$ favicon/get.php?url=$1 [L] </IfModule>
API接口:你的域名链接/favicon
示例:https://api.test.com/favicon/www.baidu.com.png
注:目标网址 .png 结尾,不能有 http(s):// 怎么使用,就看你自己了。。
效果见底部友链,CDN完美缓存。
重庆市 7F
这个好像不能自定义获取不到的网址图片。
陇上小江南
jideqi 可以,默认图标自定义。
重庆市
jideqi 我说的意思是获取不到ico图标时,手动上传图标到缓存,让api优先获取自己上传的图标。这个缓存的文件是加密的,反正往我没看见能实现这个的方法。huq或许修改PHP代码能行
陇上小江南
记得起 不明白你说的啥加密,这玩意网站没设置图标时候,调用你设置的默认图标!
$defaultIco=’favicon.png’; //默认图标路径
$expire = 2592000; //缓存有效期30天, 单位为:秒,为0时不缓存
重庆市
大熊 你说的这个是针对所有没有获取到图标的用这个默认图标,我说的是自己上传一个到cache文件夹的文件与单个未获取的匹配。那个cache里面的以网址命名的txt文件是加密的
陇上小江南
记得起 个别你不想用默认的完全可以自定义啊,制作个ico替换掉生成的默认的即可。
福建省泉州市 6F
这是你自己想出来的解决方案吗?
陇上小江南
锋言锋语 额,借鉴,不过这样倒是很适合CDN。
湖南省常德市 5F
很好的教程,缓存了还是很不错的。我没弄友链的图标,就是嫌影响速度
广西南宁市 4F
这个不错,能够缓存才能加快网页的打开,要不然有时候打开总是显示这个favicon图标出错
四川省成都市 3F
谢谢你的源码,来得真及时,正好需要用来搭建导航页,
陇上小江南
大牙鱼创业博客 不客气,有用就好。
湖北省天门市 2F
影响网站加载速度的东西,能不搞我就尽量不搞,速度块才有体验好。
陇上小江南
林三 嗯,所以搞了伪静态,cdn缓存了。
广东省深圳市 1F
我的也失效了,我都不想去弄了,有没有都关系不大
陇上小江南
Ourboke联盟 本来我取消了,现在弄了伪静态舒服了。
广东省东莞市
大熊 我就不甩它了,感觉有没有也能习惯