react部署nginx路由页直接访问404解决方案

文章讲述了当React应用部署到Nginx时,非根路由刷新可能导致404的问题,原因是Nginx未找到对应的静态资源。解决方法是在Nginx配置中使用try_files将请求重定向到index.html,让前端路由处理页面跳转。
摘要由CSDN通过智能技术生成

react部署nginx路由页直接访问404解决方案

react打包程序直接上传服务器,部署到 nginx 上后在非根路由下刷新发生 404 Not Found
在这里插入图片描述

原因:

其中原因假设现在在浏览器上的url为 39.1.2.3:6000/exam,此时刷新页面时候会去根据浏览器上的url去服务器(nginx)上面请求对应的静态资源,nginx根据location / 的匹配规则在dist文件夹里没有找到对应的静态文件"exam",所以返回404,合理。
此时通过配置try_files来重定向返回index.html文件,也就是回去首页“ / ”,注意,此时你的页面已经刷新过了,此时react-router或者vue-router路由发挥作用,会根据当前的url地址来对应匹配上组件,所以此时url即对应组件,页面重新加载完成,完事。

解决方案:

location / { 
		try_files $uri /index.html;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值