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

之前一直遇到react项目部署服务器在nginx下直接访问某个路由就报404找不到错,这是因为nginx不理解单页应用,我还准备直接把react渲染成html,来解决这个问题,但这样绝对是非常麻烦。

而在今天终于找到了解决方案,只需要nginx的一个配置就可以解决

    try_files $uri /index.html

这行代码是什么意思呢?

        关键点1:按指定的file顺序查找存在的文件,并使用第一个找到的文件进行请求处理

  关键点2:查找路径是按照给定的root或alias为根路径来查找的

  关键点3:如果给出的file都没有匹配到,则重新请求最后一个参数给定的uri,就是新的location匹配

  关键点4:如果是格式2,如果最后一个参数是 = 404 ,若给出的file都没有匹配到,则最后返回404的响应码

    完美的匹配了这种单页应用需求,我是在宝塔面板下建立站点,所以直接在宝塔站点下修改站点配置添加进去这行就可以了

server{

    try_files $uri /index.html

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值