You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cPanel部署React/Node应用:页面刷新与API请求冲突问题求助

问题分析

你的问题核心是前端路由重定向规则和Node API的Passenger配置冲突:

  • React前端路由需要把所有非文件/目录的请求转发到index.html解决刷新404,但这个规则会把API请求也一并转发,导致返回HTML页面引发JSON解析错误
  • API文件夹的自动.htaccess是Passenger运行Node应用的必要配置,不能被根目录的规则覆盖或破坏
解决方案

1. 修改根目录(public_html)的.htaccess

只对非API路径应用React路由重定向规则,让API请求直接进入对应文件夹处理:

RewriteEngine On

# 排除API路径的请求,不执行前端路由重定向
RewriteCond %{REQUEST_URI} !^/api/
# 仅当请求的不是真实文件或目录时,转发到index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

2. 保留API文件夹的自动.htaccess

不要修改或删除这个文件,它的Passenger配置是Node应用正常运行的关键(比如指定Node路径、启动文件等),根目录的规则已经排除了API路径,不会影响它的执行。

3. 确认React的API请求路径

确保你React代码中的API请求使用正确的路径前缀,比如所有接口请求都以/api/开头(例如fetch('/api/users')),这样请求会被正确导向Node服务。

4. 验证效果

  • 刷新React任意路由页面,确认不再出现404
  • 发起API请求,检查返回内容为JSON格式,不再触发Unexpected token '<'错误

内容的提问来源于stack exchange,提问作者Phen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 11:40:38