サーバレスアーキテクチャ

Cloudfalre Pagesでリダイレクトを使う方法

Cloudfalre Pagesでページ内や外部サイトへなど、様々なリダイレクトを使う方法をまとめました。

Cloudfalre PagesのリダイレクトはNetlify方式

Cloudfalre Pagesのリダイレクト機能は、同じく静的サイトホスティングサービスのNetlifyと同じ方式の「_redirects」ファイルに記述する方式を取っています。ファイル名が「_redirects」で拡張子はなしです。

Netlifyでは、_redirectsファイルかnetlify.tomlファイルのどちらかで設定が出来ますが、Cloudfalre Pagesは_redirectsファイルのみに対応しています。

_redirectsファイルの記述フォーマットは下記の通りです。

# アクセス元 リダイレクト先 ステータスコード

/hoge /fuga 301
/blog/* https://new.domain/:splat
/products/:code/:name /products?code=:code&name=:name

スタータスコードはデフォルトで302に設定されていて、記述しなければ全て302になります。

後方一致は「アクセス元 = *」「リダイレクト先 = :splat」で記述します。もしくはプレースフォルダーとして変数名をコロンで指定します。静的リダイレクトは、動的リダイレクトの前に記述する必要があります。

Netlifyではステータスコード200番でのリライト(ルートの上書き)やプロキシ、クエリ・ストリングにも対応していますが、現状ではCloudfalre Pagesでは使うことが出来ません。将来的にはサポート予定ということになっています。

ファイルを用意できたら、レポジトリのルートではなく「出力先のルートディレクトリ」に配置するようにします。ここは間違えやすいポイントなので注意しましょう。

Cloudfalre Pagesのリダイレクトの制限事項

Cloudfalre Pagesのリダイレクトでは、下記の制限があります。

  1. プロジェクトあたり2,000件の静的リダイレクト
  2. プロジェクトあたり100件の動的リダイレクト(変数付きリダイレクト)
  3. 設定は1,000文字まで

制限と言っても、一般的な用途としては問題ないレベルですので、多くの場合問題はないでしょう。

また、Cloudflareのルール機能でリダイレクトを使っている場合も、ケースによってはCloudfalre Pagesのリダイレクト設定で解決できることもあるので、ルールの消費を減らすことも出来ます。


Cloudfalre Pagesでリダイレクトする方法を見てきました。

シンプルでわかりやすいですが、リダイレクト機能としてはNetlifyの方が優れているので、より細かなリダイレクト設定をしたいなら、Netlifyを使った方が良いでしょう。


価格は記載がある場合を除き、すべて税込みです。

この記事の関連キーワード

サーバレスアーキテクチャの記事