Tech note

備忘録

Amazon S3の静的ウェブサイトホスティングで、クエリパラメータが消える

事象

クエリパラメータを付与した状態のURLに直打ちでアクセスするとクエリパラメータが消えてしまう。
具体的には、以下のようにリダイレクトされる。

原因

以下のような流れで、ファイルを探しにいっている。

  1. https://xxxxxxxxxx.cloudfront.net/testというファイルがあればそれを表示する。
  2. https://xxxxxxxxxx.cloudfront.net/test/に「index.html」ファイルがあればそれを表示する。
    ※S3のStatic website hostingのインデックスドキュメントの設定を「index.html」とした場合。
  3. どちらも存在しない場合は、エラーとなる。

そのため、事象に書いたような形でクエリパラメータを渡すと1から2の流れで、リダイレクトされてクエリパラメータが消えてしまう。

解決策

クエリパラメータの前にスラッシュをつけるようにする。