- blog-admin tools.ts: favicon 响应加 s-maxage/CDN-Cache-Control, 让 CF 边缘可缓存,边缘命中即不进 Worker,KV 读取量大幅下降 - scripts/refresh_cdn.js: 裸域名自动补尾斜杠(多吉云 rtype=path 是目录刷新, https://usj.cc 只刷首页,https://usj.cc/ 才是全站),并打印刷新清单 - 新增文档:评论孤儿修复方案、函数版证书管家方案、诊断报告
122 lines
5.2 KiB
Markdown
122 lines
5.2 KiB
Markdown
# 评论区孤儿评论修复方案(2026-10-06)
|
||
|
||
> ## ✅ 状态:**已执行完成**(2026-10-06 12:2x)
|
||
>
|
||
> - 21 条 UPDATE 全部成功,**816 条评论已迁回正确页面**
|
||
> - 22 个目标 key 条数精确到位;残留老 key 已清空
|
||
> - 端到端验证通过:`/20230424.html`(苏州一日游)已能显示评论
|
||
> - 备份:`.editor-tmp/BACKUP_816条_20261006.txt`
|
||
> - 未迁移的 13 个 key / 377 条保持原位未动
|
||
|
||
## 一句话结论
|
||
|
||
**你的评论一条都没丢。** 线上 D1 里有 **3423 条评论**,
|
||
其中 **1193 条**因为老站 URL「日期错了一天」变成了孤儿(挂在 404 页面上),
|
||
**816 条**可以精确找回,**377 条**因现站已无对应文章而保留原样。
|
||
|
||
---
|
||
|
||
## 一、线上库真实基线
|
||
|
||
```
|
||
comments 表:3423 条(存活 3380 条)
|
||
id 范围:10393 ~ 15674
|
||
94 个 page_key:
|
||
· /comment.html 留言板 1001 条
|
||
· 65 个「老站日期型」key(/20230423.html) 1975 条
|
||
· 28 个「新站时间戳型」key(/20260708110221.html) 404 条
|
||
```
|
||
|
||
**你举例的 `/20230424.html`(苏州一日游)有 40 条评论 —— 找到了,挂在 `/20230423.html` 上。**
|
||
|
||
---
|
||
|
||
## 二、问题成因
|
||
|
||
老站迁移时,**部分文章的 URL 日期错位了一天**:
|
||
|
||
| | 错误 URL(有评论) | 正确 URL(无评论) |
|
||
|---|---|---|
|
||
| 苏州一日游 | `/20230423.html`(40 条,title 显示 "404 Page not found") | `/20230424.html`(页面正常,0 条) |
|
||
| 新的开始 | `/20230527.html`(76 条,title=404) | `/20230528.html`(页面正常,0 条) |
|
||
|
||
- 评论**绑在**老 URL 上
|
||
- 页面**只认**新 URL(老 URL 返回 302 → /404.html)
|
||
- 所以评论「有数据但显示不出来」
|
||
|
||
---
|
||
|
||
## 三、修复方案(待批准执行)
|
||
|
||
**23 个孤儿 key / 816 条** → 改挂到现站正确 slug。
|
||
`UPDATE comments SET page_key='/新key' WHERE page_key='/老key'`(**按 page_key 定位,不用 id**)
|
||
|
||
| 孤儿 key | 条数 | → 目标 | 文章标题 |
|
||
|---|---|---|---|
|
||
| `/20230527.html` | 76 | `/20230528.html` | 新的开始 |
|
||
| `/20220810.html` | 58 | `/20220811.html` | typecho实现QQ头像用户评论加密 |
|
||
| `/20220906.html` | 57 | `/20220907.html` | 主力机由荣耀20切换到iPhone13 |
|
||
| `/20221102.html` | 52 | `/20221103.html` | 毕业篇:最后几个月的大学生活 |
|
||
| `/20221203.html` | 50 | `/20221204.html` | 2022·襄阳第一场雪 |
|
||
| `/20220227.html` | 48 | `/20220228.html` | 2022,除夕过后的那些事 |
|
||
| `/20211121.html` | 46 | `/20211122.html` | 这组照片的主题,咱就叫它光吧 |
|
||
| `/20220430.html` | 40 | `/20220501.html` | iphone快捷指令发布动态说说(合并) |
|
||
| **`/20230423.html`** | **40** | **`/20230424.html`** | **苏州一日游 ★** |
|
||
| `/20220503.html` | 34 | `/20220501.html` | iphone快捷指令发布动态说说(合并) |
|
||
| `/20211222.html` | 33 | `/20211223.html` | 放假之前最后一次的照片合集 |
|
||
| `/20230803.html` | 32 | `/20230804.html` | 家乡随拍 |
|
||
| `/20230125.html` | 31 | `/20230126.html` | 感谢哥哥给的网站 |
|
||
| `/20220619.html` | 30 | `/20220620.html` | 我跳绳的那些日子 |
|
||
| `/20221016.html` | 28 | `/20221017.html` | 毕业纪念篇:图书馆 |
|
||
| `/20220104.html` | 26 | `/20220102.html` | 祝大家元旦快乐 |
|
||
| `/20211113.html` | 24 | `/20211114.html` | 双十一已经变味了 |
|
||
| `/20230409.html` | 22 | `/20230410.html` | 四月随笔 |
|
||
| `/20211210.html` | 21 | `/20211211.html` | 盘点注册的域名 |
|
||
| `/20211007.html` | 19 | `/20211008.html` | 记录人生第一次洗牙 |
|
||
| `/20210911.html` | 19 | `/20210912.html` | 别让抖音支配了你的大学生活 |
|
||
| `/20221213.html` | 16 | `/20221214.html` | Apple Watch Series7 体验 |
|
||
| `/20230716.html` | 14 | `/20230717.html` | 襄阳唐城 |
|
||
|
||
✅ **已核实:18 个目标页当前评论数全部为 0** —— 不会覆盖、不会冲突。
|
||
|
||
---
|
||
|
||
## 四、不迁移的(377 条,保留原样)
|
||
|
||
现站已无对应文章,评论**保留在原位不删**(万一以后想恢复旧文章,评论还在):
|
||
|
||
| 孤儿 key | 条数 | 内容主题 |
|
||
|---|---|---|
|
||
| `/20220115.html` | 54 | 开发 app / uniapp |
|
||
| `/20220410.html` | 51 | iPhone 更新 |
|
||
| `/20211117.html` | 47 | Twitter 主题界面 |
|
||
| `/20211111.html` | 43 | 网站头像插件 |
|
||
| `/20211203.html` | 32 | 人像摄影 |
|
||
| `/20220328.html` | 32 | 青年大学习 |
|
||
| `/20211124.html` | 30 | RSS 阅读器(蚁阅) |
|
||
| `/20260724101237.html` | 24 | 流量卡/广电(现站 slug 冲突) |
|
||
| `/20211024.html` | 20 | 医疗/手术 |
|
||
| `/20211017.html` | 17 | 弟弟听力/同济医院 |
|
||
| `/20211015.html` | 14 | 恋爱话题 |
|
||
| `/20220607.html` | 11 | 腾讯游戏/王者 |
|
||
| `/202610011226.html` | 2 | Gitea 测试文 |
|
||
|
||
---
|
||
|
||
## 五、执行方式
|
||
|
||
```bash
|
||
# 1. 备份(先把这 816 条 dump 出来)
|
||
# 2. 执行 21 条 UPDATE(按 page_key 定位)
|
||
# 3. 核对:目标 slug 评论数 = 预期值;总量仍为 3423
|
||
```
|
||
|
||
SQL 在 `.editor-tmp/FINAL_SQL.json`。
|
||
|
||
---
|
||
|
||
## 六、顺带修掉的两个坑
|
||
|
||
1. `scripts/refresh_cdn.js` —— 多吉云 `rtype=path` 目录刷新**必须带尾斜杠**(已加兜底 + 日志)
|
||
2. `blog-admin/src/routes/rss/tools.ts` —— 加 `s-maxage` / `CDN-Cache-Control`,让 CF 边缘真正缓存
|