エッジでの HTTP リダイレクトの生成

このガイドでは、ユーザーのオリジンへのリクエストをリダイレクトする方法をご紹介します。例えば、前回のリクエスト以降に移動または更新されたページにリダイレクトさせる必要がある場合があります。あるいは、apex ドメイン (例:example.com) レベルのリクエストを、代わりに www サブドメイン (例:www.example.com など) にリダイレクトさせたいということもあるかもしれません。このような場合にオリジンで処理せずに、エッジからリダイレクトを送信することが可能です。ある URL から別の URL へトラフィックをリダイレクトするには、適切なリダイレクトステータスコードのシンセティックレスポンスを作成し、適切な Location ヘッダーを使用してコンテンツルールを作成します。1つの設定変更ですべてのトラフィックをリダイレクトできます。

別の URL へのリダイレクト

以下の手順で、ある URL から別の URL にトラフィックをリダイレクトできます。例えば、前回のリクエスト以降に移動したページへのリクエストをリダイレクトする場合などです。まず、適切なリダイレクトステータスコードのシンセティックレスポンスを作成します。そして、適切な Location ヘッダーを使用してコンテンツルールを作成します。

新しいレスポンスと条件の作成

エッジでリダイレクトを生成するには、まず適切なステータスコードのレスポンス、およびそれを適用する条件を作成します。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Set up advanced response をクリックします。Create a synthetic response 設定画面が表示されます。

    the Create a synthetic response page

  6. 以下の要領で Create a synthetic response 設定画面の各フィールドに入力します。
    • Name フィールドに、レスポンスを説明する名前を入力します (例:Redirect to blog)。この名前は Fastly コントロールパネルに表示されます。
    • Status メニューから、レスポンスのヘッダーに含める必要がある HTTP ステータスコードを選択します (301 Moved Permanently または 302 Moved Temporarily など)。
    • MIME Type フィールドは空にします。
  7. Create をクリックして、 新しいレスポンスを作成します。
  8. Content ページで、作成した新しいレスポンス設定の右側にある Attach a condition をクリックします。Create a new request condition 設定画面が表示されます。

    the New Condition window

  9. 以下の要領で Create a new request condition 設定画面の各フィールドに入力します。
    • Type メニューから、作成する条件の種類を選択します (例:Request)。
    • Name フィールドに、条件を示す名前を入力します (例:URL is /wordpress)。この名前は Fastly コントロールパネルに表示されます。
    • Apply if フィールドに、条件が真か偽かを判断するために VCL 内で実行する論理式を入力します (例:req.url ~ "^/wordpress")。
  10. Save and apply to をクリックして新しいリクエスト条件を作成します。

新しいヘッダーと条件の作成

ステータスコードと URL が条件に一致した場合に Location ヘッダーを追加してレスポンスを修正するように新しいヘッダーと条件を作成することで、シンセティックリダイレクトの作成が完了します。これにより、両方が条件に一致した場合にのみリダイレクトが適用されるようになります。

  1. Content 設定画面で、Create header をクリックします。Create a header 設定画面が表示されます。

    the Create a new header page

  2. 以下の要領で Create a header 設定画面の各フィールドに入力します。
    • Name フィールドに、ヘッダーを説明する名前を入力します (例:Location for WordPress redirect)。
    • Type メニューから Response を選択し、Action メニューから Set を選択します。
    • Destination フィールドに http.Location と入力します。
    • Source フィールドに、新たなコンテンツのソースの場所を入力します (例:"http://www.example.com/new-location/of/item")。
    • Ignore if set および Priority フィールドは、デフォルト設定をそのまま使用します。
  3. Create をクリックして、新しいヘッダーを作成します。
  4. Content 設定画面で、作成したヘッダ設定の右側にある Attach a condition をクリックします。
  5. Create a new condition をクリックします。Create a new condition 設定画面が表示されます。

    Create a new condition

  6. 以下の要領で Create a new condition 設定画面の各フィールドに入力します。

    • Type メニューから、Response を選択します。
    • Name フィールドに、条件を示す名前を入力します (例:Set location for blog redirect)。
    • Apply if フィールドに、条件が真か偽かを判断するために VCL 内で実行する論理式を入力します (例:req.url ~ "^/wordpress" && resp.status == 301)。resp.status は、前述のレスポンスで生成されるレスポンスコードと一致する必要があります。
  7. Save and apply to をクリックして、新しい条件を作成します。
  8. Activate ボタンをクリックして設定変更をデプロイします。

トラフィックを www サブドメインにリダイレクトする

Redirect traffic to www subdomains 設定を使用して、apexドメイン、サブドメイン、またはワイルドカードドメインのトラフィックを www サブドメインにリダイレクトし、常に一貫した場所にアクセスできるようにすることができます。例えば、example.com から www.example.com にリクエストをリダイレクトすることが可能です。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Settings をクリックします。Settings ページが表示されます。
  5. Redirect traffic to www subdomains のセクションで Add apex redirect をクリックします。Domain と Status を選択するメニューが表示されます。

    the Redirect traffic to www subdomains area

  6. Domain メニューから、リダイレクトしたいドメイン、サブドメイン、またはワイルドカードドメインを選択します。複数選択することができます。
  7. Status メニューでは、選択したドメインからのトラフィックをリダイレクトする際に送信する HTTP ステータスコードを選択します。
  8. Add をクリックします。
  9. リダイレクトしたい他のドメインについても、トラフィックを www サブドメインにリダイレクトする手順を繰り返します。
  10. Activate ボタンをクリックして設定変更をデプロイします。

www リダイレクトの編集

以下の手順に従って、いつでもリダイレクトを編集することができます。

  1. Redirect traffic from Apex to www subdomains のセクションに移動します。
  2. 編集したいエントリーにカーソルを合わせ、表示されている鉛筆のアイコンをクリックします。
  3. 以下のいずれかを実行してリダイレクトを編集します。
    • リダイレクトに別のドメインを追加する場合は、Domain メニューから選択します。
    • 既存のドメインをリダイレクトから削除する場合は、Domain メニューのドメイン名の左にある X アイコンをクリックします。
    • 選択したドメインのリダイレクトのステータスを変更する場合は、Status メニューから新しいステータスを選択します。
  4. Save をクリックします。変更した内容は、すぐに設定に反映されます。リダイレクトの編集内容が保存できない場合は、Domain メニューに少なくとも1つのドメインが表示されていることを確認してください。リストにあるドメインをすべて削除しても、www リダイレクトを削除することはできません。

www リダイレクトの削除

以下の手順に従って、いつでもリダイレクトを削除することができます。

  1. Redirect traffic from Apex to www subdomains のセクションに移動します。
  2. 編集したいエントリーにカーソルを合わせ、表示されるゴミ箱のアイコンをクリックします。
  3. Confirm and delete をクリックします。

カスタム VCL を使用する

また、カスタム VCLを使用して、ある URL から別の URL にトラフィックをリダイレクトすることもできます。詳細については、リダイレクトのチュートリアルをご参照ください。

Back to Top