有点奇怪..。
我为我的一个项目指定了根索引页的重定向路径。它没有问题,并将我重定向到正确的路径,但现在它将我重定向到所有其他项目的根索引页面的相同路径。(尝试访问localhost:3000,现在将我的所有项目重定向到localhost:3000/ggp )
我尝试重新启动服务器,删除原始项目中的next.config.js文件,注释掉重定向键,在原始项目和其他项目中用不同的路径覆盖它,但都没有效果。
这是我第一次创建next.config.js文件,显然也是第一次使用重定向键。我遵循了docs (https://nextjs.org/docs/api-reference/next.config.js/redirects)中的指导。
起初,我认为这可能是因为我将永久设置为true,但这似乎是一个使其具有全局性的奇怪特性,当我在dev模式(next dev)和调试中运行不同的项目时,一切都正常工作。所以我不确定这个值是在第一次使用时缓存的还是什么的。
以前有人遇到过这种情况吗?知道解决办法吗?我很感谢你的帮助!
原始的next.js。
module.exports = {
async redirects() {
return [
{
source: '/',
destination: '/ggp',
permanent: true,
},
]
},
}
发布于 2021-06-16 15:12:38
问题是,当您将永久密钥设置为true时,它会在浏览器中缓存重定向路由(至少在Google中是这样),因此,无论哪个项目处于活动状态,都可以将重定向路由用于该路径的所有请求。
清除浏览器缓存并将永久密钥切换为false,为我解决了这个问题(我刚刚打开了检查器,转到了网络选项卡,右键单击了网络请求表,并选择了“清除浏览器缓存”)。
对我来说,这似乎是一个奇怪的特性,特别是因为它在文档中的使用似乎相当模糊(尽管我可能在某个地方提到过它,我还没有看过)。
无论如何,吸取的教训是:在拔头发之前,先在另一个浏览器中测试这个问题:')
https://stackoverflow.com/questions/67990143
复制相似问题