vue-router部署到nginx,刷新出现404现象(nginx下部署多个vue)

vue-router部署到nginx,访问首页没问题,从首页里跳转其他页面也没问题,但是非首页的其他页面,再次刷新,就会出现404现象。(本地正常)

配置如下图:

由于nginx下需要配置多个vue工程,所以需要重定向,使得访问路径为 ip:port/project/

但是直接在地址栏访问  ip:port/project/upload 出现404,程序内部跳转则正常,这是因为vue-router设置的路径不是真实存在的路径。如上的404现象,是因为在nginx配置的根目录下面压根没有upload页面这个真实资源存在。(真实页面只有index.html)

解决方法

方法1、网上一般都是说将nginx的配置改为下图这样,可是我试了没用,可能是因为我在nginx下配了多个工程吧,只配一个工程的,可以试试这个

 server {
         listen 9090;

         server_name 10.2.10.130;
         root /home/dist/ngixn;
         index index.html;

         location / {
             try_files $uri $uri/ @router;
             index index.html;
         }

        location @router {
            rewrite ^.*$ /index.html last;
        }

}
 

方法2、在nginx的server里加上此段配置,有多个vue工程则每个都配一个。若不配的话页面也能打开,只是二级页面刷新会404

server {
         listen 9090;

         server_name 10.2.10.130;
         root /home/dist/ngixn;
         index index.html;

         location /project {
             try_files $uri $uri/ /project/index.html;
         }

}

个人理解:$uri表示访问的页面,$uri/表示配置的根路径,如果路径下没有,则跳转到根路径下的/project/index.html

 

相关参考:

vue多项目nginx配置:https://blog.csdn.net/echo008/article/details/77098142/

vue-route二级页面打开后,404解决方法:https://blog.csdn.net/qq_22585453/article/details/82288701

try_files的意思:http://blog.sina.com.cn/s/blog_bd418dfa0102wser.html

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值