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

如何在cPanel上通过.htaccess区分React前端与Node后端请求?

cPanel部署Node后端与React前端的.htaccess配置调整方案

当前public_html目录下的.htaccess配置存在规则冲突,导致Node后端与React前端无法同时正常工作。需求是让Node配置仅处理/api路径的请求,同时保证前端路由正常。

问题现象

  • 单独启用Node配置:API可正常工作,但前端页面无法访问
  • 单独启用React配置:前端页面正常,但API请求返回前端HTML内容
  • 同时启用两者:API可用,但浏览器访问前端时显示“Unauthorized”(请求被转发到后端)

调整后的.htaccess配置

# 统一开启RewriteEngine
<IfModule mod_rewrite.c>  
  RewriteEngine On
  RewriteBase /

  # NODE:仅处理/api开头的请求
  RewriteRule ^api/(.*)$ http://127.0.0.1:3500/api/$1 [P,L]

  # REACT:处理前端路由
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

配置说明

  1. 统一管理RewriteEngine:将RewriteEngine On和RewriteBase /放在最外层,避免重复开启模块
  2. Node规则限定/api路径:修改RewriteRule,仅匹配以/api开头的请求,将其反向代理到Node服务的对应路径,避免干扰前端静态文件和路由
  3. 保留React路由规则:原有的React规则不变,确保非API请求都被转发到index.html,支持前端单页应用的路由跳转

这样配置后,/api开头的请求会被转发到Node后端处理,其他请求则由React前端接管,两者可以同时正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:15:42