美文网首页
vue-route+webpack部署单页路由项目,访问刷新导致

vue-route+webpack部署单页路由项目,访问刷新导致

作者: MikeMiao | 来源:发表于2018-04-02 08:58 被阅读0次

简介

前端同事使用Vue.js框架,利用vue-route结合webpack编写了一个单页路由项目,运维协助在服务器端配置nginx。部署完成后,访问首页没问题,从首页里打开二级页面没问题,但是所有的二级页面打开后,再次刷新,就会出现404现象!如下:

问题原因:

刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径。

如上的404现象,是因为在nginx配置的根目录下面压根没有loading这个真实资源存在,这些访问资源都是在js里渲染的。

原先配置:

[root@test-huanqiu ~]# cat /Data/app/nginx/conf/defaut.conf 

         server {
           listen 80;
           server_name www.newkdd.com;
           root /home/newkdd/www/;
           index index.html;
           access_log /var/log/testwx.log main;
        }

问题解决:

在nginx配置里添加vue-route的跳转设置(这里首页是index.html,如果是index.php就在下面对应位置替换),正确配置如下(添加下面标红内```容):

[root@test-huanqiu ~]# cat /Data/app/nginx/conf/default.conf 

         server {
           listen 80;
           server_name www.newkdd.com;
           root /home/newkdd/www/;
           index index.html;
           access_log /var/log/newkdd.log main;
           location / {
               try_files $uri $uri/ @router;
               index index.html;
           }
          location @router {
              rewrite ^.*$ /index.html last;
          }
     }

重启nginx后,问题就迎刃而解了。

相关文章

网友评论

      本文标题:vue-route+webpack部署单页路由项目,访问刷新导致

      本文链接:https://www.haomeiwen.com/subject/lzercftx.html