美文网首页
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