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

AWS Amplify部署的React项目Rewrite规则失效,静态文件加载失败求助

解决AWS Amplify Rewrite规则失效及静态资源加载失败问题

问题核心原因

你遇到的问题本质是被代理的React项目静态资源路径配置不匹配:默认情况下,Create React App打包后的静态资源会以根路径(/)作为基准,当通过Rewrite规则把/test/*指向另一个Amplify项目时,页面里的静态资源引用依然是目标项目的域名根路径,浏览器会直接发起跨域名请求,自然加载失败;另外Rewrite规则的匹配顺序也可能影响生效优先级。

分步解决方案

1. 修正被代理React项目的静态资源基准路径

在目标地址对应的Amplify项目(被代理的React项目)中,修改package.json,添加homepage字段:

{
  "name": "your-proxied-app",
  "homepage": "/test/",
  // 其他原有配置...
}

或者在项目根目录创建.env文件,添加:

PUBLIC_URL=/test/

修改完成后重新打包并部署这个项目,这样打包后的静态资源路径会自动带上/test/前缀,适配主项目的Rewrite路由结构。

2. 调整Amplify Rewrite规则的顺序与配置

  • 确保你的Rewrite规则排在Amplify默认的SPA规则之前(Amplify按规则从上到下匹配,默认规则是/*指向/index.html,会优先拦截所有路径)。
  • 确认目标地址填写正确:要包含另一个Amplify项目的完整域名,比如https://your-proxied-app.amplifyapp.com/<*>,保证Rewrite能正确转发请求到目标项目。

3. 验证生效情况

重新部署主项目后,访问/test路径:

  • 查看开发者工具Network面板,静态资源的请求路径应该是当前域名的/test/static/xxx格式,而非目标项目的独立域名。
  • 页面能正常渲染,说明Rewrite规则和资源路径配置都已生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:32:09