Next.js Gitlab页面上的NextJS SSG,获得503?

Next.js Gitlab页面上的NextJS SSG,获得503?,next.js,gitlab-pages,Next.js,Gitlab Pages,我最近更新了我的个人网站(使用Gitlab.com上的Gitlab页面),使用了一个nextjsssg项目,您可以看到 当我即将完成这项工作(一切正常)时,我在GT Metrix和Twitter卡验证程序上检查了我的SEO…令人不快的是(!):对于一些页面(但不是每个页面),GT Metrix告诉我他收到503错误,对于相同的页面,Twitter验证程序向我显示了指向Gitlab signin页面的链接(显然已重定向) 以下是出现错误的页面: 及 和(博客帖子可以) 我坚持认为该网站在浏览时

我最近更新了我的个人网站(使用Gitlab.com上的Gitlab页面),使用了一个nextjsssg项目,您可以看到

当我即将完成这项工作(一切正常)时,我在GT Metrix和Twitter卡验证程序上检查了我的SEO…令人不快的是(!):对于一些页面(但不是每个页面),GT Metrix告诉我他收到503错误,对于相同的页面,Twitter验证程序向我显示了指向Gitlab signin页面的链接(显然已重定向)

以下是出现错误的页面:

  • 和(博客帖子可以)
我坚持认为该网站在浏览时运行良好,当我检查NextJS可能存在的编码问题时,我找不到任何东西(路由和配置似乎已经正确完成)

作为记录,我正在使用NextJS 9.5,并且我还使用了一个区域设置上下文来提供多语言支持。。。也许有关系?我检查了我的代码,看起来还可以,但问题一定在某个地方,在我的代码中还是在我的回购设置中

我试图清除runners缓存,在重建之前删除我的页面,…但没有任何效果。以下是一些配置文件,如果有帮助的话:

gitlab ci.yml

图像:节点
隐藏物:
路径:
-节点单元/
页:
在脚本之前:
#清理公用文件夹
-查找public-mindepth 1-maxdepth 1-type d | xargs rm-rf
-查找public-type f-name“*.html”| xargs rm-rf
#安装软件包
-npm安装
脚本:
#生成应用程序并将内容移动到公用文件夹
-npm运行发布
-mv out/*公共
在脚本之后:
#清理
-rm-rf输出
人工产品:
路径:
-公开的
仅:
-主人
next.config.js

const isProd=process.env.NODE\u env==='production'
module.exports={
assetPrefix:isProd?“/”:“”
}
我完全迷失在这里,这些问题,即使不妨碍浏览,仍然是问题。。。所以任何帮助都会非常好


提前谢谢大家

经过几次调查,似乎
trailingSlash:true
选项(在
next.config.js
上)解决了这个问题。。。不知道为什么:/


[更新]在Gitlab页面中搜索,并检查我的输出文件是否带有此
trailingSlash
选项后,似乎问题的根源必须在Gitlab页面的url解析和Next.js导出方法之间共享。。。似乎在使用Gitlab页面时,我们需要使用此选项使一切正常工作。

经过几次调查后,似乎
trailingSlash:true
选项(在
下一步.config.js
上)解决了问题。。。不知道为什么:/

[更新]在Gitlab页面中搜索,并检查我的输出文件是否带有此
trailingSlash
选项后,似乎问题的根源必须在Gitlab页面的url解析和Next.js导出方法之间共享。。。似乎在使用Gitlab页面时,我们需要使用此选项来确保一切正常运行。

经过几次调查(从NextJS 9.5降级到9.4,…),似乎终于
trailingSlash:true
选项(在
next.config.js
上)解决了我的问题。。。但我不知道确切的原因(可能与动态路线有关?),我很乐意与社区讨论。最后,如果这个尾部斜杠修复被确认,为什么静态导出会受到这个约束?如果我不希望它们出现在我的URL中呢?我很好奇其他开发者是如何在
trailingSlash
这一新功能出现之前实现相同类型的项目的(支持多语言的SSG网站)?经过几次调查(从NextJS 9.5降级到9.4,…),似乎最后,
trailingSlash:true
选项(在
next.config.js
上)解决了我的问题。。。但我不知道确切的原因(可能与动态路线有关?),我很乐意与社区讨论。最后,如果这个尾部斜杠修复被确认,为什么静态导出会受到这个约束?如果我不希望它们出现在我的URL中呢?我很好奇其他开发者是如何在
trailingSlash
的这个新功能出现之前完成同样的项目的(支持多语言的SSG网站)?