Cloudflare Pagesでサイト公開(3)リダイレクト設定

Web関連情報・技術

当サイトにはプロモーション・広告が含まれています。

Cloudflare Pagesでドメイン設定が完了したら、wwwあり・なしを統一するためのリダイレクトと、デプロイで生成されるURLのリダイレクトを行う。

URLのリダイレクト設定は、public配下の_redirectsファイルではなく、管理画面から行う。

wwwありとなしを統一する

Netlifyではwwwドメイン推奨だったため、wwwあり・なしの設定をする必要がなかったが、Cloudflare Pagesではデフォルトだとwwwあり・なしドメインが混在している状態になっている。これはSEO上よくないので、どちらかに統一する必要がある。

Redirect Rulesで設定

当サイトはwwwありのドメインで運営しているので、wwwなしをwwwありへリダイレクトする設定を行った。

追記:Page Rulesは今後廃止予定のため、Redirect Rulesで設定する方法に修正しました。

新規登録アカウントでは、フリープランが2024年7月1日、プロおよびビジネスプランが2024年8月1日、エンタープライズプランが2024年10月1日以降に廃止される。既存アカウントでも、2025年1月6日以降は全プランで新規Page Rulesの作成が不可に、2025年は新ルールへの移行期間にあたるため、作成済みのPage Rulesの編集も不可になる予定。
Relevant dates - Page Rules migration guide · Cloudflare Rules docs

メニュー Rules > Redirect Rules に進む。

「+Create rule」ボタンをクリック。

各項目を入力・選択

  • Rule name(必須):任意のルール名を入力
  • ラジオボタンは「Custom filter expression」のまま
  • 「When incoming requests match…」の項目を以下のようにする
    • Field:Hostnameを選択
    • Operator:equals
    • Value:リダイレクトしたいホスト名example.comを入力
  • 「Then…」以下「URL redirect」の項目
    • Type:Dynamicを選択
    • Expression:concat("https://www.example.com, http request.uri.path)と入力
    • Status Code:301
    • 「Preserve query string」のチェックボックスにチェックを入れる

「Deploy」ボタンをクリックで完了

Page RulesからRedirect Rulesに変更する場合

  1. 「Save As Draft」ボタンで一旦下書き保存
  2. Page Rulesの設定を停止
  3. Redirect Rulesの設定を有効化
  4. Page Rulesを削除

という手順で行う。

デプロイで生成されるURLをリダイレクトする

Cloudflare Pagesにデプロイするたびに、(リポジトリ名)-5cx.pages.devのサブドメインサイトが生成される。これらをボットにクロールされるとまずいので、すべてカスタムドメインの方にリダイレクトする必要がある。

HOMEメニューの「Bulk Redirect」に進み、「Create bulk redirect list」ボタンをクリックすると、リダイレクト設定を追加する画面に遷移する。

手動での追加は、下の「Or, manually add URL redirects」から行う。クリックすると項目が開くので、必要な項目を入力する。

  • 元のURL:(リポジトリ名)-5cx.pages.devを入力
  • 対象のURL:公開しているドメインを入力
  • ステータス:301(永久リダイレクト)

「Edit parameters」を開くと、パラメーターの編集ができる。今回は以下の2項目にチェックを入れた。

  • Subpath matching:URL以下のパスに一致させる。old-domain.com/hoge/new-domain.com/hoge/にリダイレクト。
  • include subdomain:リダイレクト対象にサブドメインを含める。example.comを指定するとa.example.comb.example.comも含まれる。

「Continue to Redirect Rules」に進む。

ルールの名前を設定する。分かりやすければ名称は何でもよいと思う。

そして、下のリダイレクト設定のリストから対象のものを選ぶ(と言っても1個しかないが)。「Save and Deploy」ボタンを押す。

設定が保存される。

補足:_redirectsファイルによるリダイレクト

ディレクトリやページごとのリダイレクト設定は、publicフォルダ配下の_redirectsファイルで行う。

// 記述形式
[source] [destination] [code?]
  • source:元のディレクトリ・ページ(必須)
  • destination:遷移先ディレクトリ・ページ(必須)
  • code:リダイレクトのコード(オプション。デフォルトは302)

参考ページ

☕コーヒーをおごる

Buy Me A Coffee

このブログについて

コーディングやWeb関連技術の記事と、買い物など日々のメモから成り立っています。 →少しだけ詳しく

広告