1

有点奇怪...

我已经为我的一个项目的根索引页面指定了重定向路径。它没有问题并将我重定向到正确的路径,但现在它将我重定向到我所有其他项目的根索引页面的相同路径。(尝试访问localhost:3000现在会将我重定向到localhost:3000/ggp以获取我所有的项目)

我尝试重新启动服务器,删除原始项目中的 next.config.js 文件,注释掉重定向键,在原始项目和另一个项目中用不同的路径覆盖它,但都无济于事。

这是我第一次创建 next.config.js 文件,显然是第一次使用重定向键。我遵循文档中的指导(https://nextjs.org/docs/api-reference/next.config.js/redirects)。

起初我认为这可能是因为我将永久设置为 true,但这似乎有点奇怪的特性使它成为全局,当我在开发模式(下一个开发)和调试下运行不同的项目时,一切正常它应该。所以我不确定这个值是否只是在第一次使用时被缓存或什么的。

有没有人遇到过这个/知道解决方法?感谢您的帮助!

原始的 next.js。

module.exports = {
  async redirects() {
    return [
      {
        source: '/',
        destination: '/ggp',
        permanent: true,
      },
    ]
  },
}
4

1 回答 1

0

原来的问题是,当您将永久键设置为 true 时,它​​会在浏览器中缓存重定向路由(至少在 Google Chrome 中是这样),因此重定向路由用于该路径的所有请求,无论哪个项目活跃。

清除浏览器缓存并将永久密钥切换为 false,为我解决了这个问题(我刚刚打开了检查器,转到网络选项卡,右键单击网络请求表并选择“清除浏览器缓存”)。

这对我来说似乎是一个奇怪的功能,特别是因为它的使用在文档中似乎很模糊(尽管它可能在我没有看过的地方提到)。

无论如何,吸取的教训:在撕掉头发之前在另一个浏览器中测试问题:')

于 2021-06-16T15:12:38.990 回答