将静态 Next.js 应用程序部署到 Firebase 托管
Deploying static Next.js app to Firebase Hosting
我已经通过 运行 next build && next export
将 Next.js 应用程序部署到 Firebase 托管,然后部署 out
文件夹中的内容...但是,当我去对于我的网络应用程序,它只加载索引页面。即使我转到不存在的 URL,例如:https://mywebsite.web.app/url-that-does-not-exist
,它也会显示我在 index.js
中的内容,而不是 404 页面。在我的本地机器上,一切都按预期工作。
我还需要做什么才能显示 404 页面吗?
编辑:此外,当我使用 firebase serve
提供 out
文件夹时,它似乎不起作用!
听起来您还没有设置 Firebase Hosting and Cloud Functions or Cloud Run 之间的集成。否则,Firebase 托管仅提供静态文件 - 因此您的 JavaScript 永远不会在服务器上进行解释。
问题是在您 firebase init
之后生成的 firebase.json
文件中,我使用了 SPA 的配置。这意味着我将所有内容都重定向到 index.html
,所以显然每个 URL 都映射到了这个文件。
我已经通过 运行 next build && next export
将 Next.js 应用程序部署到 Firebase 托管,然后部署 out
文件夹中的内容...但是,当我去对于我的网络应用程序,它只加载索引页面。即使我转到不存在的 URL,例如:https://mywebsite.web.app/url-that-does-not-exist
,它也会显示我在 index.js
中的内容,而不是 404 页面。在我的本地机器上,一切都按预期工作。
我还需要做什么才能显示 404 页面吗?
编辑:此外,当我使用 firebase serve
提供 out
文件夹时,它似乎不起作用!
听起来您还没有设置 Firebase Hosting and Cloud Functions or Cloud Run 之间的集成。否则,Firebase 托管仅提供静态文件 - 因此您的 JavaScript 永远不会在服务器上进行解释。
问题是在您 firebase init
之后生成的 firebase.json
文件中,我使用了 SPA 的配置。这意味着我将所有内容都重定向到 index.html
,所以显然每个 URL 都映射到了这个文件。