vue redirect history模式 刷新变404

问题:生产环境中,vue指定路由【通常是指定路由\跳转到index或者home】由于使用了redirect进行域名重定向,导致浏览器刷新时候出现404错误的问题。

ide的测试环境当中正常。

这是由于vue使用history模式造成的问题,解决方案在调整nginx.conf
使用phpstudy的,去vhosts文件夹里面找到自己的conf文件进行调整

【伸手党看这里】

1、location / {下第一行增加:

try_files $uri $uri/ @router;

2、location结束后第一行增加:

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

调整后的代码内容:

server {
        listen       8080;#默认端口是80,如果端口没被占用可以不用修改
        server_name  localhost;
        root        D:/vue/my_project/dist;#vue项目的打包后的dist
        location / {
            try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
            index  index.html index.htm;
        }
        #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
        #因此需要rewrite到index.html中,然后交给路由在处理请求资源
        location @router {
            rewrite ^.*$ /index.html last;
        }
        #.......其他部分省略
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值