原因:

vue由于不像传统静态页,有各个功能的页面,vue的页面只有一个,前端配置路由之后,后端是无法判断这是一个前端的路由的,nginx会按照路径去找相应的资源,但是在服务器中并不存在,所以会404,所以nginx配置的时候也不能像传统静态资源那样配置

传统静态资源nginx配置:

访问http://www.test.com/official/static/ 下面所有的文件,都从服务器/data/official/目录下面寻找,

服务器静态文件必须放在/data/official/static目录下,配置才生效。

location /static/ {
 
     root /data/official/;
 
}

改为

vue静态资源nginx配置:

根目录/data/official/下找不到文件,就返回index.html,vue唯一的页面。

location  /static/ {
 
        try_files $uri $uri/ /static/index.html;
        root /data/official/;
                     
}

配置完成后就不会出现刷新404的问题了

Logo

前往低代码交流专区

更多推荐