因此,我有一个托管在AWS上的dockerized NextJS应用程序(kubernetes,ECR等),可以使用多个URL来访问该应用程序,例如:
www.mydomain.com/myApp
www.mydomain.com/french-territory/monApp
www.mydomain.com/german-territory/meinApp
....etc
然后通过知道哪个URL加载了应用程序,我们将不同的配置/不同的请求加载到数据库...等
问题是访问这些URL时出现404
,因为NextJS试图从www.mydomain.com/_next/statc/.....
加载资产,这意味着NextJS试图从域的根目录访问资产,
我发现一种完成这项工作的方法是使用assetPrefix
(请注意,由于assetPrefix本身是动态的,因此无法将assetPRefix
放入next.config.js
中,因此我尝试像这样将其加载到我的server.js
中:
server.get('*', (req, res) => {
const reqUrl = req.protocol + '://' + req.headers.host + req.url
const config = extractConfig(reqUrl)
app.setAssetPrefix(config.assetPrefix)
return handle(req, res)
})
在extractConfig
加载适当的assetPrefix
的位置,例如:
www.mydomain.com/french-territory/monApp
assetPrefix='/french-territory/monApp'
,但仍然收到404,并且该应用无法正常工作。
有人有想法吗? 预先谢谢你!