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

Flask应用部署Netlify构建无报错 访问出现404 Page Not Found如何解决

问题排查步骤
  • 首先确认Netlify的发布目录配置是否正确。进入Netlify控制台的站点设置,找到「构建与部署 > 持续部署 > 构建设置」,查看Publish directory参数:你仓库内的index.html存放在templates目录下,Netlify默认只会读取发布目录根路径下的文件,如果你没有把发布目录配置为templates,也没有把index.html移到项目根目录,就会触发404。
  • 其次确认部署逻辑是否正确:Netlify是静态站点托管平台,原生不支持运行Python后端服务。你的项目是Flask动态应用,所有依赖Python后端处理的路由逻辑,直接部署到Netlify都不会生效,就算能打开首页,后续的功能请求也会返回404。
  • 最后检查是否配置了必要的重定向规则:如果你的站点是单页应用结构,需要在发布目录下新增_redirects文件,写入/* /index.html 200规则,避免前端路由刷新时404。
解决方案

方案1:静态化部署(适合无动态交互的站点)

如果你的站点所有内容都是静态的,没有需要后端处理的接口请求,可以用Frozen-Flask把Flask项目编译为纯静态文件:

  1. 安装依赖:pip install Frozen-Flask
  2. 在Flask启动文件中添加冻结逻辑,运行后会生成build目录,目录内就是全量静态资源
  3. 把Netlify的构建命令修改为安装依赖+执行冻结脚本,发布目录配置为build即可

方案2:保留动态功能部署

如果需要保留Flask的后端逻辑,Netlify无法直接满足需求,可以二选一处理:

  • 把Flask的路由逻辑迁移到Netlify Functions(Serverless函数)中实现,前端静态文件正常托管
  • 更换支持Python后端运行的托管平台,直接部署完整Flask项目即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:45:03