当S3将/ dir重定向到/ dir /时,保留查询参数

时间:2018-08-02 19:04:23

标签: reactjs amazon-s3 react-router

我有一个由Cloudfront / S3支持的React单页应用程序(SPA)。我有一个S3存储桶/welcome/,并将客户端重定向到/welcome/new。我在两种情况下都无法保存查询参数(这是必需的)。这是我希望路由请求的方式:

/welcome?test=true-> /welcome/new/?test=true

/welcome/?test=true-> /welcome/new/?test=true

第一个请求有问题。因为welcome是S3目录,所以S3 302的/welcome/welcome/,并且我丢失了查询参数。

来自AWS docs However, if you exclude the trailing slash from the preceding URL, Amazon S3 first looks for an object photos in the bucket. If the photos object is not found, then it searches for an index document, photos/index.html. If that document is found, Amazon S3 returns a 302 Found message and points to the photos/ key. For subsequent requests to photos/, Amazon S3 returns photos/index.html. If the index document is not found, Amazon S3 returns an error.

我想到的一个解决方案是运行Lambda @ Edge代码,并使用两种情况下保留的查询参数重定向到Cloudfront的请求。这是一个好方法吗?我担心任何陷阱,因为我正在更改默认的S3路由行为。

0 个答案:

没有答案