vue项目线上页面刷新报404 解决方法

vue 项目线上页面刷新报 404 解决方法

在上线 vue 开发的前端网页上线后,刷新页面报 404 错误,因为网页上显示的是静态绝对路径,实际上服务器上是没有改路径的所以刷新汇报错误。

vue 框架中解决 404

vue router mode 默认为hash, 这样的url中带有#,如果把mode: 'history'就能去掉#号,也可以正常访问,但是再次刷新页面就会出现404错误。

1
2
3
const router = new Router({
mode: 'history',
})

url中带有#,让有强迫症的人很不爽,可以去掉,去掉后就需要改nginx配置文件了。

修改 nginx 配置文件

1
2
3
4
5
  location / {
# ...
# 增加下列命令,index.html可换为项目中使用的其它文件名
try_files $uri $uri/ /index.html;
}

将上面代码放入nginx配置文件中

保存退出

. ./nginx -t – 验证nginx配置文件是否正确
. ./nginx -s reload – 重启nginx
记得修改完nginx配置文件一定要重启nginx 不然没有效果!!!