Gitlab Pages 上的 NextJS SSG,得到 503?
NextJS SSG on Gitlab Pages, getting 503?
我最近使用 NextJS SSG 项目更新了我的个人网站(使用来自 Gitlab.com 的 Gitlab Pages),您可以看到 here。
由于我即将完成工作(一切正常),我在 GT Metrix 和 Twitter Card Validator 上检查了我的 SEO……令人不快的惊喜(!):一些页面(但是不是每一页),GT Metrix 告诉我他得到 503 错误,对于相同的页面,Twitter 验证器向我显示 link 到 Gitlab 登录页面(显然已重定向).
以下是有错误的页面:
- https://soykje.gitlab.io/fr and https://soykje.gitlab.io/en
- https://soykje.gitlab.io/fr/blog and https://soykje.gitlab.io/en/blog(博文可以)
我坚持认为网站在浏览时工作正常,并且在检查可能的 NextJS 编码问题时,我找不到任何东西(路由和配置似乎已正确完成)。
郑重声明,我使用的是 NextJS 9.5,我还使用语言环境上下文来提供多语言支持……也许它是相关的?我检查了我的代码,似乎没问题,但问题一定出在某个地方,在我的代码中或在我的回购设置中?
我试图清除跑步者缓存,在重建之前删除我的页面,......但没有任何效果。下面是一些配置文件,如果有帮助的话:
gitlab-ci.yml
image: node
cache:
paths:
- node_modules/
pages:
before_script:
# Clean public folder
- find public -mindepth 1 -maxdepth 1 -type d | xargs rm -rf
- find public -type f -name "*.html" | xargs rm -rf
# Install packages
- npm install
script:
# Build application and move content to public folder
- npm run publish
- mv out/* public
after_script:
# Cleanup
- rm -rf out
artifacts:
paths:
- public
only:
- master
next.config.js
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
assetPrefix: isProd ? '/' : ''
}
我完全迷失在这里,这些问题,即使不阻止浏览,仍然是问题......所以任何帮助都会非常棒!
提前谢谢大家!
经过一些调查,似乎 trailingSlash: true
选项(在 next.config.js
上)解决了问题...不确定为什么:/
[更新] 在 Gitlab Pages documentation 中搜索并检查我的输出文件有无此 trailingSlash
选项后,似乎这个问题的根源必须在 Gitlab Pages 之间共享' url 分辨率和 Next.js 导出方法...看来在使用 Gitlab Pages 时我们需要使用此选项才能使一切正常工作。
我最近使用 NextJS SSG 项目更新了我的个人网站(使用来自 Gitlab.com 的 Gitlab Pages),您可以看到 here。
由于我即将完成工作(一切正常),我在 GT Metrix 和 Twitter Card Validator 上检查了我的 SEO……令人不快的惊喜(!):一些页面(但是不是每一页),GT Metrix 告诉我他得到 503 错误,对于相同的页面,Twitter 验证器向我显示 link 到 Gitlab 登录页面(显然已重定向).
以下是有错误的页面:
- https://soykje.gitlab.io/fr and https://soykje.gitlab.io/en
- https://soykje.gitlab.io/fr/blog and https://soykje.gitlab.io/en/blog(博文可以)
我坚持认为网站在浏览时工作正常,并且在检查可能的 NextJS 编码问题时,我找不到任何东西(路由和配置似乎已正确完成)。
郑重声明,我使用的是 NextJS 9.5,我还使用语言环境上下文来提供多语言支持……也许它是相关的?我检查了我的代码,似乎没问题,但问题一定出在某个地方,在我的代码中或在我的回购设置中?
我试图清除跑步者缓存,在重建之前删除我的页面,......但没有任何效果。下面是一些配置文件,如果有帮助的话:
gitlab-ci.yml
image: node
cache:
paths:
- node_modules/
pages:
before_script:
# Clean public folder
- find public -mindepth 1 -maxdepth 1 -type d | xargs rm -rf
- find public -type f -name "*.html" | xargs rm -rf
# Install packages
- npm install
script:
# Build application and move content to public folder
- npm run publish
- mv out/* public
after_script:
# Cleanup
- rm -rf out
artifacts:
paths:
- public
only:
- master
next.config.js
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
assetPrefix: isProd ? '/' : ''
}
我完全迷失在这里,这些问题,即使不阻止浏览,仍然是问题......所以任何帮助都会非常棒!
提前谢谢大家!
经过一些调查,似乎 trailingSlash: true
选项(在 next.config.js
上)解决了问题...不确定为什么:/
[更新] 在 Gitlab Pages documentation 中搜索并检查我的输出文件有无此 trailingSlash
选项后,似乎这个问题的根源必须在 Gitlab Pages 之间共享' url 分辨率和 Next.js 导出方法...看来在使用 Gitlab Pages 时我们需要使用此选项才能使一切正常工作。