gpt4 book ai didi

redirect - Netlify 上 Next.js 的尾部斜线不起作用

转载 作者:行者123 更新时间:2023-12-05 06:01:01 28 4
gpt4 key购买 nike

我们在 Netlify 上有一个 Next.js 站点,其中包含静态页面和服务器呈现页面。我们有类似 https://example.com/locations/berlin 的链接我们希望它们总是以斜线结尾,例如 https://example.com/locations/berlin/ .为实现这一点,我们使用 Next.js 的 trailingSlash: true 选项,它在本地运行良好。

问题发生在我们将站点部署到 Netlify 时。页面总是重定向到没有尾部斜杠的 url,例如 https://example.com/locations/berlin状态代码为 301。我们已经启用了 Pretty URLs在 Netlify build设置中,但这没有区别。

当我理解正确时,使用 trailingSlash: true,Next.js 应该像这样创建静态页面:

https://example.com/locations/berlin/index.html

但它会创建这样的页面:

https://example.com/locations/berlin.html

// next.config.js
module.exports = {
target: "serverless",
trailingSlash: true,
};

对于我们的静态页面,我们使用一个 pages/[...slug].js 文件,它使用 fallback: false 导出我们的静态路径。

因为我们也使用服务器呈现的页面,所以我们不能使用next export

# netlify.toml

[build]
command = "yarn build"

[[plugins]]
package = "@netlify/plugin-nextjs"
// package.json

{
...
"scripts": {
"build": "next build",
...
}
}

版本

  • 下一个:10.2.0
  • @netlify/plugin-nextjs: 3.2.0

预期行为

  • 没有尾部斜杠的页面将以状态代码 301 重定向到带有尾部斜杠的 url
  • 带尾部斜杠的页面直接加载,状态代码为 200

最佳答案

目前似乎没有一种简单的方法可以使尾部斜线与 Neltify 上的 Next.js 一起工作,因此我们决定切换到 Vercel。该平台总体上似乎更适合 Next.js,这并不奇怪,因为它是由同一家公司开发的。

关于redirect - Netlify 上 Next.js 的尾部斜线不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67371203/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com