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 目录的路径,不要写成绝对路径。
微信小程序