React应用部署到cPanel共享主机返回403 Forbidden错误求助
React 部署 cPanel 403 Forbidden 问题解决指南
你提到页面标题已经显示React图标,说明index.html确实已经被服务器读取,可按以下顺序排查:
- 检查文件与目录权限
登录cPanel文件管理器进入站点部署目录:- 所有静态文件(
*.html/*.css/*.js/图片资源等)权限需设置为644 - 所有文件夹权限需设置为
755
cPanel共享主机会默认拦截权限过高的文件访问,不要设置777这类开放权限,否则会直接触发403。
- 所有静态文件(
- 配置单页应用重写规则
在部署目录根路径新建.htaccess文件,写入以下配置:
如果应用部署在子目录,将<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] </IfModule>RewriteBase /修改为RewriteBase /你的子目录名称/,最后一行的/index.html同步修改为/你的子目录名称/index.html即可。 - 校验homepage字段配置
确认package.json中homepage字段和实际访问路径完全匹配:- 部署在根域名时填写:
"homepage": "." - 部署在子目录时填写完整访问路径:
"homepage": "https://你的域名/子目录名称"
修改后重新执行yarn run build生成构建产物再上传即可。
- 部署在根域名时填写:
- 确认默认索引页优先级
进入cPanel「索引页」设置,确认index.html在索引文件优先级列表内,建议将其优先级调整至index.php之前。
内容的提问来源于stack exchange,提问作者obanijesu adufe
相关产品推荐
相关产品推荐

