2 Commits

Author SHA1 Message Date
Dai0814 6c8314a423 merge: 开源官网骨架接入(website/ + 部署编排 + 网关路由)
mirror-to-gitee / mirror (push) Successful in 1m13s
来源分支 feat/website-skeleton-20261104
含两个 404 修复:favicon 路径、文档中心链接前缀
2026-11-04 12:48:10 +08:00
Dai0814 9cd518227d fix(website): favicon 路径与文档站链接两处 404
实测发现两个问题,均导致线上 404:

1. favicon 不生效
   favicon.svg 放在 website/public/,但 srcDir 是 ./pages,
   VitePress 的 public 目录相对 srcDir 解析,即应为 pages/public/。
   原位置不被打包,每个页面的 /www/favicon.svg 全部 404。
   → 移到 website/pages/public/favicon.svg

2. 「文档中心」导航链接 404
   DOCS_URL 默认 '/docs/',VitePress 会给站内链接自动加 base 前缀,
   实际渲染成 '/www/docs/',而网关没有这个路径(文档站在 /docs/)。
   → 默认值改为完整 URL,VitePress 判定为外链不做前缀拼接

验证(SITE_BASE=/www/ 与 / 两形态)
- 页面引用完整性:146 → 139 条,失效 15 → 0
- HTTP 实测(模拟 nginx alias + try_files):8 页 200、
  CSS/JS/favicon 200、/www 301、不存在页 404
2026-11-04 12:33:08 +08:00
2 changed files with 8 additions and 5 deletions
+8 -5
View File
@@ -17,12 +17,15 @@ const SITE_BASE = process.env.SITE_BASE ?? '/www/'
const REPO_URL = process.env.REPO_URL ?? 'https://git.5iot.com/iotlcm-public/iotlcm' const REPO_URL = process.env.REPO_URL ?? 'https://git.5iot.com/iotlcm-public/iotlcm'
/** /**
* 文档站地址。文档站与官网是两个容器: * 文档站地址。文档站与官网是两个容器,由网关按路径分流:
* - 过渡形态:文档站挂在网关的 /docs/ 下 * - 官网在 /www/ 下,文档站在 /docs/ 下,两者同级
* - 独立域名形态:文档站通常独占 docs.<域名> 或同域 /docs/ *
* 独立部署时用 DOCS_URL 覆盖。 * 注意:VitePress 会给所有站内链接自动加上 base 前缀,'/docs/' 会被拼成
* '/www/docs/'——而网关并没有这个路径,点击「文档中心」会 404。
* 因此默认值必须是完整 URL(VitePress 判定为外链,不做前缀拼接)。
* 独立部署时用 DOCS_URL 覆盖成实际地址。
*/ */
const DOCS_URL = process.env.DOCS_URL ?? '/docs/' const DOCS_URL = process.env.DOCS_URL ?? 'http://open.5iot.com:5051/docs/'
export default defineConfig({ export default defineConfig({
srcDir: './pages', srcDir: './pages',

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 344 B