LNMP

Vue项目部署到子目录的Nginx配置(解决刷新 404 / 资源加载失败)

08-11 17:53

抛出问题:

使用 Vue 开发的项目,打包后,访问子目录的资源时,尤其是 js 文件,服务器把 JS 请求当成了 HTML 返回,导致浏览器抛出了类似“Failed to load module script”的错误


Nginx 解决方案:

在配置文件中加入下面这样的代码,注意替换自己项目的实际路径

location /topic/2027qjjxy/ {

alias /usr/www/mxmpacc/topic/2027qjjxy/;

try_files $uri $uri/ /2027qjjxy/index.html;

}


配置说明:

指令

说明

location /topic/2027qjjxy/

匹配所有以 /topic/2027qjjxy/ 开头的请求

alias

将请求映射到服务器的实际目录(即 dist 内容存放的位置)

try_files

按顺序尝试:

① $uri → 直接返回文件(如 .js、.css、图片)

② $uri/ → 尝试作为目录访问

③ 都找不到 → 返回 index.html,让 Vue 路由接管

     

注意事项:

1、alias 路径最后不要省略 /,否则路径拼接可能出错。

2、try_files 的 fallback 路径(/2027qjjxy/index.html)是相对于 alias 目录的路径,不要写成绝对路径。


微信小程序
大潇博客 版权所有 Copyright ©2016~2026
京ICP备17004217号-6  合作QQ:284710375
天玺科技