本站友链前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
很好的教程,缓存了还是很不错的。我没弄友链的图标,就是嫌影响速度 icon_lol.svg
广西南宁市 4F
这个不错,能够缓存才能加快网页的打开,要不然有时候打开总是显示这个favicon图标出错
四川省成都市 3F
谢谢你的源码,来得真及时,正好需要用来搭建导航页, icon_mrgreen.svg
陇上小江南
大牙鱼创业博客 不客气,有用就好。
湖北省天门市 2F
影响网站加载速度的东西,能不搞我就尽量不搞,速度块才有体验好。
陇上小江南
林三 嗯,所以搞了伪静态,cdn缓存了。
广东省深圳市 1F
我的也失效了,我都不想去弄了,有没有都关系不大
陇上小江南
Ourboke联盟 本来我取消了,现在弄了伪静态舒服了。
广东省东莞市
大熊 我就不甩它了,感觉有没有也能习惯