Firebase托管可以使用Cloud Functions处理动态请求。效果很好,但是如果该页面不存在,我想显示静态站点的404.html页面。
我不能简单地重定向到它,因为这样会显示404页面,但是状态是200。
我可以通过以下方式从Flask返回404:
return "Not found", 404
但仅打印未找到的文本。
如何从Flask返回404.html文件并同时返回404代码? Firebase Hosting调用的Cloud Function是否可以“看到”静态站点的文件?
我搜索了一个解决方案,发现云功能无法访问托管文件。但是它可以访问自己的文件。
因此,我可以简单地将错误页面html复制到该函数的目录中,以便将其与该函数一起部署,然后使用以下命令返回错误页面:
return open('404.html').read(), 404
当然,您要将html存储到变量中,因此每次发送404错误时都不会读取它。