github pages页面修改commit生效后多久,可以访问到最新页面?为什么还是老页面

github pages页面修改commit生效后多久,可以访问到最新页面?为什么还是老页面,第1张

不是commit就行了的,你得push到远端服务器。具体就是push origin master

如果你push了的,那就有可能是浏览器缓存或者github还未更新,耐心等等一般十分钟以后是可以看到更新的

一、不付费

使用GitHub Pages(微软旗下)就可以了,不用付费,然后托管在他的服务器上面,你可以自定义域名例如examplecom如此的,直接可以使用。

这是一个众所周知的免费网站!!!(微软收购以后去除大部分的商业化)

但是只能托管静态页面(也就是C++、Python、PHP等服务端语言无法使用),但是JS一样可以使用,也可以使用CSS

也有000webhost,这是一个国外的知名网络托管服务,支持PHP语言的托管,支持数据库,但是右下角如果不付费(也算便宜)会有小广告,访问量有限制,数据库有限制

二、付费

使用腾讯云、阿里云、Aws等在线服务器或虚拟主机的提供商提供的托管服务,然后也同样可以放到网上

这样子是修改度高,支持后端语言如PHP、C++、Python等,而且自己存放文件、访问、浏览速度访问速度都较免费的要快得多

总结一下,解决办法:

换供应商,这个方案不是很靠谱,github 还是很好用的

让 github 改,这个也很难

利用 CDN 加速 ,这个方案可行!

Github是通过 UA 来判定百度爬虫并返回 403 Forbidden 的。而百度爬虫的 UA 一般是这样的:

Mozilla/50 (compatible; Baiduspider/20; +>

那么使用 CDN 来解决这个问题的关键就在于,让百度爬虫不要直接向 Github 的服务器发送请求,而是通过 CDN 边缘服务器的缓存来抓取网站的内容。边缘服务器本身是不会关心 UA 的,所以问题就迎刃而解了。

结果是只有偶尔能够抓取成功,结果很让人失望吧?让我们来分析以下原因,首先罗列我目前可知的一些情况:

所有抓取成功的页面都访问了 20991305 节点

所有抓取失败的页面都访问了 20991306 节点

我本机ping jerryzoucom会 ping 到 20991308 节点

好了,细心的同学应该已经发现问题所在了,百度爬虫大部分的请求被导到了 20991306 节点,但是这个节点上没有页面的缓存!!如果百度爬虫是某个页面的第一个访问者,CDN 的边缘服务器会用百度爬虫的 UA 去请求 Github 的服务器,得到的结果自然是被拒绝了。

最终我们得到了通过 CDN 来解决这个问题的必要条件:你的博客必须有巨大的访问量!这样才能保证 CDN 的每一个边缘服务器上都有任何一个页面的缓存。

#Github Page种类
UserPage: 用户的整个站点, 这个是最出github支持的类型, 创建一个形如usernamegithubcom的项目就可以
ProjectPage: 用户创建出来的项目也可以创建站点, 创建一个项目后, 在建立一个名叫gh-pages的branch, 这个branch里的文件就是page的站点文件
#UserPage默认域名
用户站点的默认域名是usernamegithubio, 比如笔者的站点就是liang8305githubio
#ProjectPage默认域名
项目的默认域名, 是使用UserPage域名加上二级目录实现的, 比如笔者有个项目叫cydia, 那么该项目的站点就是访问 liang8305githubio/cydia
#UserPage自定义域名
我有自己的域名, 如何绑定到UserPage 比如用的>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10571865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存