python - Cloud Function 如何调用 Firebase 托管网站的 404.html 文件并返回 404?
问题描述
Firebase 托管可以使用 Cloud Functions 处理动态请求。这很好用,但是如果页面不存在,我想显示静态站点的 404.html 页面。
我不能简单地重定向到它,因为这样会显示 404 页面,但状态是 200。
我可以从 Flask 返回 404:
return "Not found", 404
但随后仅打印 Not found 文本。
如何从 Flask 返回 404.html 文件并同时返回 404 代码?Firebase 托管调用的云函数是否“看到”静态站点的文件?
解决方案
我搜索了一个解决方案,发现云功能无法访问托管文件。但它可以访问自己的文件。
所以我可以简单地将错误页面 html 复制到函数的目录,因此它与函数一起部署,然后返回错误页面:
return open('404.html').read(), 404
当然,您希望将 html 存储到变量中,因此每次发送 404 错误时都不会读取它。
推荐阅读
- java - Java Mail - 回复邮件,使用旧内容创建回复消息
- ios - 无法安装 Hypertrack 的 Pod
- ruby-on-rails - 发送第一个 POST 请求时,自定义 ruby gem 永远加载
- android - Firebase 提供哪种类型的留存,滚动式还是经典式?
- android - ViewModel 对象属性未初始化?
- ios - React 本机 ios 推送通知具有大写字体
- asp.net-core - 使用 ServiceStack 替换 Webpack 中间件热模块(无 MVC)
- xpath - 在谷歌表中获取特定链接的 xpath 是什么?(一个href)
- ios - 如何使用 Swift 从 Core Data 中获取分组
- php - 如何访问 GuzzleHttp 的响应体并提取响应数据?