Files
website/docker/nginx.prefix.conf
T

25 lines
910 B
Plaintext

server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
# 过渡形态:站点挂在统一网关的子路径下(没有独立域名时用)。
#
# VitePress 产物里的资源引用是绝对路径(<base>assets/xxx),
# 而 dist 目录是平铺的(index.html、assets/ 直接在根)。
# 因此必须在子路径下用 alias 把前缀剥掉再落到产物目录,
# 否则页面能返回 200 但 JS/CSS 全部 404 → 白屏。
# 网关侧对应 location ^~ <prefix> { proxy_pass http://gw_website; }(不剥前缀)。
location __SITE_BASE__ {
alias /usr/share/nginx/html/;
try_files $uri $uri.html $uri/ $uri/index.html =404;
}
# 访问不带尾斜杠的前缀时补斜杠,否则相对资源路径会解析错
location = __SITE_BASE_NO_SLASH__ {
return 301 __SITE_BASE__;
}
}