Vue路由history模式:nginx配置解决手动刷新后404问题

问题背景:

  history的这种模式需要后台配置支持。比如:当我们进行项目的主页的时候,一切正常,可以访问,但是当我们刷新页面或者直接访问路径的时候就会返回404,那是因为在history模式下,只是动态的通过js操作window.history来改变浏览器地址栏里的路径,并没有发起http请求,但是当我直接在浏览器里输入这个地址的时候,就一定要对服务器发起http请求,但是这个目标在服务器上又不存在,所以会返回404

解决方案:

  对于VUE的router[mode: history]模式在开发的时候,一般都不出问题。是因为开发时用的服务器为node,Dev环境中自然已配置好了。

  在nginx里配置了以下配置后, 点击导航访问不会出现问题,一旦进行F5刷新就会出现404页面

location / {
            root   /usr/local/web/xxx/dist;
            index  index.html index.htm;
        }

  为解决404,通过以下方式修改配置:

location / {
  root   /usr/local/web/xxx/dist;
  index  index.html index.htm;
  try_files $uri $uri/ /index.html;

🐞标题:Vue路由history模式:nginx配置解决手动刷新后404问题
👽作者:ruige
🐾地址:https://jjdhhc.com/articles/2020/11/18/1605690273630.html
🙏感恩:谢谢您的打赏与支持!中间图片是我的微信公众号,扫码关注哦!
支付宝支付 微信公众号 微信支付