nginx部署react刷新404如何解决

发布时间 - 2023-05-15 00:00:00    点击率:

nginx部署react刷新404的解决办法:1、修改Nginx配置为“server {listen 80;server_name https://www.xxx.com;location / {root xxx;index  index.html index.htm;...}”;2、刷新路由,按当前路径去nginx加载页面即可。

nginx部署react应用,刷新路由报404

nginx部署react单页应用时,如果跳转到某一个路由,然后刷新当前路由,会报404.

个人认为:react为单页应用,加载页面靠路由,而路由不是真实的路径,要靠js找页面。而刷新路由后,按当前路径去nginx加载页面当然加载不到。如当前项目路径为https://www.xxx.com/xxx/,nginx上的配置为:

server {
listen 80;
server_name https://www.xxx.com;
location / {
    root xxx;
    index  index.html index.htm;
}
}

当请求https://www.xxx.com/xxx时,会到nginx下面找到该路径,然后加载index.html。现在切换到路由https://www.xxx.com/xxx/home,刷新页面后,实际请求的是xxx目录下home项目里的index.html。如此,就报404了。

正确配置如下,包括80和443的配置:

server {
listen 80;
server_name https://www.xxx.com;
location / {
    root xxx;
    index  index.html index.htm;
    rewrite ^/(.*)/(.*\.js$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.map$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.css$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.(png|jpg|gif)$) /$1/$2 break;
    rewrite ^/(.*)/(.*\.(ttf|woff|woff2|svg|otf|eot)$) /$1/$2 break;
        rewrite ^/(.*)/ /$1/index.html break;
}
}
server {
    listen       443;
    server_name  54.222.208.17;
    ssl                  on;
 ssl_certificate      /etc/nginx/your.pem;
 ssl_certificate_key  /etc/nginx/your.key;
 ssl_session_timeout  5m;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    location / {
        root xxx;
        index  index.html index.htm;
        rewrite ^/(.*)/(.*\.js$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.map$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.css$) /$1/$2 break;
        rewrite ^/(.*)/(.*\.(png|jpg|gif)$) /$1/$2 break;
 rewrite ^/(.*)/(.*\.(ttf|woff|woff2|svg|otf|eot)$) /$1/$2 break;
        rewrite ^/(.*)/ /$1/index.html break;
    }
}


# react  # nginx  # 加载  # 会报  # 的是  # 要靠  # 解决办法  # 切换到  # 到该  # 跳转到  # 目录下  # hongkong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Bootstrap整体框架之CSS12栅格系统  什么是javascript作用域_全局和局部作用域有什么区别?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何快速上传建站程序避免常见错误?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  如何有效防御Web建站篡改攻击?  Swift中switch语句区间和元组模式匹配  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何在阿里云购买域名并搭建网站?  如何在云虚拟主机上快速搭建个人网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel storage目录权限问题_Laravel文件写入权限设置  如何选择PHP开源工具快速搭建网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何快速查询网站的真实建站时间?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  高端建站三要素:定制模板、企业官网与响应式设计优化  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  JavaScript如何实现路由_前端路由原理是什么  如何用已有域名快速搭建网站?  Laravel怎么在Controller之外的地方验证数据  Android okhttputils现在进度显示实例代码  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  javascript如何操作浏览器历史记录_怎样实现无刷新导航  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何在阿里云高效完成企业建站全流程?  Laravel如何自定义错误页面(404, 500)?(代码示例)  java ZXing生成二维码及条码实例分享  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在七牛云存储上搭建网站并设置自定义域名?  微信小程序 require机制详解及实例代码  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel如何使用Eloquent进行子查询  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何自定义建站之星网站的导航菜单样式?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  JavaScript如何实现音频处理_Web Audio API如何工作?  如何撰写建站申请书?关键要点有哪些?  Laravel如何处理CORS跨域请求?(配置示例)  教你用AI将一段旋律扩展成一首完整的曲子