在使用vue路由时,如果你发现通过router-link跳转到某个页面后,刷新页面会跳到其他页面,可能是因为nginx后端也配置了相同的路由。
原因分析:
当通过router-link跳转到/article页面时,vue路由会更新浏览器的url。但是,nginx也配置了/article路由,因此当刷新页面时,nginx会接管请求并将其重定向到其他页面。
立即学习“前端免费学习笔记(深入)”;
解决方案:
有两种解决方案:
- 删除nginx的/article路由:
修改nginx配置,删除/article路由。这将确保只有vue路由处理与/article页面相关的请求。
- 配置nginx的try_files:
如果你的vue项目使用了history路由模式,你可以在nginx配置中添加try_files来指定文件或目录的查找顺序。
添加以下配置:
location / { root /path/to/html/; try_files $uri $uri/ /index.html =404; }
登录后复制
这将确保nginx在接收到未命中文件请求时尝试查找/index.html文件,从而使vue路由正常工作。
以上就是Vue路由与Nginx路由冲突,如何解决?的详细内容,更多请关注php中文网其它相关文章!