Gatsby:从电子邮件链接中消失的 url 参数

d13*_*d13 4 parameters reactjs gatsby

我正在盖茨比开发一个网站。用户会收到一封电子邮件,其中包含包含一次性令牌的链接,如下所示:

https://www.example.com/approval?token=hIPdI7oSw6KV6k8ttsXG3XAHmIqExyB01YkChxiLR9leksJ67iRme6yyxfBztz3Z

这应该将它们带到页面approval并提供tokenas 参数。

它在开发版本中工作正常,但在生产版本中,url 中缺少参数,用户只是被定向到https://www.example.com/approval

有谁知道为什么 Gatsby 可能会在生产版本中重写没有参数的 url,有什么方法可以防止这种情况发生吗?

编辑:该网站托管在 CloudFront 上,我们已启用查询参数转发。可能在另一个级别发生了一些重定向?

d13*_*d13 8

事实证明这是 Gatsby/CloudFront 的疯狂:https ://github.com/gatsbyjs/gatsby/issues/20139

/Gatsby 开发服务器无助地在 ? 前面注入了。CloudFront 上的生产构建没有执行此操作,从而触发了重定向。CloudFront 需要以下格式的查询字符串/?- 供将来参考!