博客升级为站点首页:一次门户统一改造
起因很简单:域名根路径 qinsiran.online 原本被门户登录页占着,博客屈居 / 子路径。但对一个以内容为主的站点来说,访客进门第一眼看到的应该是文章,而不是一个登录框。于是做了这次改造。
改了什么
- 博客挪到根路径:打开 qinsiran.online 直接就是博客首页;
- 门户搬进
/portal/:原来的登录页与服务列表整体迁到 qinsiran.online/portal/,功能不变; - 独立登录页
/login/:登录不再嵌在首页 hero 区,有了自己的页面; - 服务迁入独立子域:OpenList、MCSManager、AstrBot、ZCode 等都有了各自的子域名(如 zcode.qinsiran.online),门户与主域的路径式入口作为兼容保留;
- 旧链接不失效:
/前缀的老地址依然可用,书签不用改。
实现思路
静态博客做这类改造有个天然优势:产物就是一堆静态文件,同一份构建结果可以按不同前缀各伺服一份:
/直接挂原始构建产物(站内链接带/前缀);- 根路径挂一份同步副本,同步时把产物里的
/xxx前缀批量重写成/xxx,并在导航里注入登录入口。
nginx 侧则是把主域 server 块的兜底 location / 从「门户单页」换成「博客静态目录 + try_files 兜底」,再配合 sub_filter 在 HTML 里注入备案页脚。门户移到 /portal/ 只是一个新的 alias location,认证逻辑原封不动。
顺带的好处:站内所有绝对路径链接(如 /posts/xxx/、/archives/)在两个部署下都能到达同一篇内容,写文章时不用再纠结链接前缀。
老地址去向
| 老地址 | 现状 |
|---|---|
/** |
✅ 保留,内容与首页一致 |
/portal/ |
✅ 门户新家 |
/mma/ |
❌ MathModelAgent 已下架(410) |
/dsh/ |
❌ dsh 已下线,工作台职能由 zcode.qinsiran.online 接替 |
写在最后
这次改造没有引入任何新组件,只是重新安排了已有静态产物的伺服位置——很多「架构升级」其实就是这样:不添东西,只挪位置。各服务的最新入口见服务导航页。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Qinsiran's Blog!