React路由刷新报错:No route found for GET /create 求助
问题解决:React Router刷新页面404(Symfony后端)
你遇到的问题是典型的前端路由与后端路由冲突:
- 从主页跳转
/create时,是React Router在前端处理路由,所以正常访问; - 刷新页面时,浏览器直接向Symfony服务器发送
GET /create请求,但Symfony的路由表中没有这个路径,因此返回404错误。
解决方法:配置Symfony Fallback路由
让Symfony将所有前端路由请求转发到React的入口页面,确保React Router能接管路由逻辑。
在config/routes.yaml中添加以下配置:
# 匹配所有非API的前端路由,转发到React入口 frontend: path: /{path} controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController defaults: template: 'index.html.twig' path: '' requirements: path: ^(?!api/).* # 排除API路由,避免影响后端接口
说明:
- 该路由会匹配所有不以
api/开头的路径,返回React的入口页面; - 刷新
/create时,Symfony返回index.html,React Router会读取当前URL并渲染对应的AgencyCreate组件; - 如果项目没有API路由,可以直接去掉
requirements部分,匹配所有路径。
你的React Router代码本身没有问题,无需修改。
内容的提问来源于stack exchange,提问作者JeanneMeoy
相关产品推荐
相关产品推荐

