ランサーズ(Lancers)エンジニアブログ > AWS > S3 > S3でページ単位でリダイレクト設定する

S3でページ単位でリダイレクト設定する

shin|2017年07月06日
AWS

こんにちは、エンジニアのshinです。
最近使ったAWSの機能が便利だと思ったので紹介します。

ランサーズでは、Amazon S3の静的ウェブサイトホスティングの仕組みを使ってコンテンツを公開しています。
まずこれが便利で、静的ページをカンタンに公開できるというメリットがあります。
一方で、便利がゆえにとりあえずアップして、
その後不要になったコンテンツが残り続けてしまうというデメリットも出てきました。

今回、lancers.jpのトップページリニューアルのタイミングで情報設計の見直しを行い、
ある静的ページのURLを変更したいという要望が出てきました。
旧URLへの導線は全て変更したものの、送信済みメールからのアクセスなど
網羅性を担保するためにはリダイレクト設定する必要があります。

これまでは、静的ページにリダイレクト設定したい場合、meta refreshやJavaScriptを使う方法にしていましたが、
S3ではバケット単位でのリダイレクト設定以外にウェブページリダイレクトというページ単位での設定が可能であることがわかりました。
しかも、マネージメントコンソールからカンタンに設定できます。

例として、S3にホスティング済みの「a.html」を「http://www.lancers.jp/」にリダイレクト設定する手順を以下に記載します。

  1. まず、「a.html」をクリックします。
  2. 次に「プロパティ」タブを選択し、「メタデータ」をクリックします。
  3. 「+メタデータの追加」をクリックします。
  4. プルダウンから、「Website-Redirect-Location」を選択します。
  5. リダイレクト先のURLを入力します。
  6. 「保存」をクリックします。
  7. おわり。

    注意点としては、301リダイレクトのみ対応(2017/7/6時点)していますので、
    302リダイレクトをやりたい場合は別の方法を検討する必要があります。

    今回のブログ記事を書くにあたり、下記サイトの情報を大変参考にさせて頂きました。
    ウェブページリダイレクトの設定 – Amazon Simple Storage Service
    Amazon S3 でリダイレクトを扱う | Developers.IO