firebase 托管 - 在 Iframe 中显示不正确的内容

firebase hosting - displaying incorrect content in Iframes

我有一个在 firebase 上运行的 React 应用程序,需要在 IFrame 中显示内容。当 运行 在 firebase 上时,firebase 在 IFrame 中显示 index.html 而不是相关页面。

所有文件都在同一目录中,但 firebase 默认使用 index.html 而不是请求的页面

当您在命令行中初始化您的 Firebase 项目时,预部署时,您可能对询问此项目是否为单页应用程序的提示说 "Yes"。通过说是,CLI 工具在 firebase.json 设置文件中生成了以下设置:

这会告诉 Firebase 服务器将所有页面请求路由到您的 index.html 文件 - 注意通配符 ** - 这样您的 React 应用程序就可以加载适当的页面。

如果您不想在该规则中包含特定路由,例如调用您的其他文件 - 您需要在该 firebase.json 设置文件中包含额外的重写:

"rewrites": [
    {
        "source": "/more/**",
        "destination": "/more/anotherpage.html"
    },
    {
        "source": "**",
        "destination": "/index.html"
    },
 ]

*请注意顺序很重要,确保它在 catch-all 通配符选项之前

您可以在 official documentation 的相关部分阅读有关重写的更多信息。