问题描述
我知道如果您不想在根域级别托管应用程序,您可以使用 NextJS 的 basepath 功能将您的 NextJS 应用程序托管在您域的特定目录中。
我们正在尝试在 https://oursite.com/app
之类的地方托管我们的应用程序。根域 (https://oursite.com
) 是一个营销网站,它构建在一个完全不同的框架上,并运行在一个完全不同的 Docker 实例上。我们的网络团队已将所有流向 https://oursite.com/app
的流量转发到我们的 NextJS K8 pod / Docker 实例。
只要我们直接在浏览器中输入 URL,这就会起作用 - 即。通过在 URL 栏中输入这些 URL 转到 https://oursite.com/app/about
或 https://oursite.com/app/contact
。但是无论何时您点击我们应用程序中的任何链接,重定向 URL 都是不正确的。
在我的本地开发环境中,单击链接会正确地将我定向到诸如 http://localhost:3000/about
之类的内容。但是点击我们实际环境中的链接会将我带到https://oursite.com/about
。我应该到https://oursite.com/**apP**/about
。
这是可以使用 NextJS 的 basepath 功能的地方。如果我将 basepath 变量设置为相同的值,则嵌入到我的任何页面中的任何链接都会自动附加 /app
。不幸的是,这对我们不起作用,因为我们的网络路由会将所有流向 https://oursite.com/app
文件夹的流量定向到独立的 K8 pod/Docker 实例。
当我将基本路径设置为 /app
时,我在访问 https://oursite.com/app
时收到 404 错误。我假设这是因为 NextJS 无法了解自己正在运行的 K8 pod 之外的环境。它不在 https://oursite.com
上运行,也不知道流向 https://oursite.com/app
的流量确实被定向到其根域。
在这种情况下,如何在不使用基本路径功能的情况下让 NextJS 在所有页面重定向前添加 /app
?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)