server { listen 80; server_name _; root /usr/share/nginx/html; index index.html; # 产物按 VitePress base=/docs/ 生成,HTML 里的资源引用形如 /docs/assets/xxx, # 而 dist 目录是平铺的。因此必须在 /docs/ 路径下提供服务, # 用 alias 把 /docs/ 前缀剥掉再落到产物目录,否则资源全部 404(白屏)。 location /docs/ { alias /usr/share/nginx/html/; try_files $uri $uri.html $uri/ $uri/index.html =404; } # 根路径跳到文档入口,避免访问 / 时白屏 location = / { return 302 /docs/; } location / { try_files $uri $uri.html $uri/ =404; } }