解决Hexo博客更新后网页不刷新的问题

AI-摘要
Tianli GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
解决Hexo博客更新后网页不刷新的问题
Dio云玩家解决Hexo博客更新后网页不刷新的问题
问题描述
我在用Hexo搭建个人博客(www.dioye.com)时,遇到了一个令人头疼的问题:每次更新博客内容后,访问网站时网页内容不会自动刷新。无论是PC端还是手机端,都显示旧内容,甚至手机上显示的是半年前的内容!PC端和手机端都显示旧内容,尤其是手机端甚至显示半年前的内容!只有手动清除浏览器缓存、开启隐身模式或按Ctrl+F5
强制刷新才能看到最新内容。这严重影响用户体验,我在网上查了好久都没找到解决办法。后来试着问了AI,没想到几分钟就定位到问题,改了几行Nginx配置就搞定了。。。。
博客环境
- 框架:Hexo,主题为
hexo-theme-anzhiyu
(基于hexo-theme-butterfly
修改) - 服务器:腾讯云服务器,使用宝塔面板管理
- 存储:腾讯云服务器
- 域名:阿里云(www.dioye.com)
- 问题表现:
- 更新博客后,网页内容不刷新。
- 手机端显示半年前的内容,PC端需强制刷新。
- 手动清除缓存或隐身模式可看到新内容。
问题原因分析
一开始我以为是主题或Hexo框架的问题,在网上查了好多教程,折腾了半天没效果。后来问了AI,才发现问题出在Nginx的缓存配置上。默认配置没有为HTML文件设置缓存策略,导致浏览器默认缓存,更新后内容不刷新。
以下是宝塔面板的默认Nginx配置(nginx配置修改下里直接搜索expires就能看到)
1 | location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ |
之后根据AI的建议将配置文件修改为以下内容保存并且重启nginx就搞定了
1 | location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ |
评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果