本ブログでは「miyaki-miyagi.com/blog」がトップページのURLとなっています。
しかし、www付きのサブドメイン「www.miyaki-miyagi.com」や、ルートドメインの「miyaki-miyagi.com」へのアクセスも想定されるため、これらへのアクセスをブログトップに転送する方法を設定しました。
多くのサイトでは、ページルールを用いたリダイレクト方法を紹介していますが、現在この機能は非推奨となり、今後段階的に廃止されることが案内されています。
- 2024-07-01 – 新規Cloudflareアカウントおよび無料プランでのページルールが利用できなくなります。
- 2024-08-01 – ページルールはProまたはBusinessプランの新規Cloudflareアカウントおよびゾーンでは利用できなくなります。
- 2024-10-01 – ページルールはエンタープライズプランの新規 Cloudflare アカウントおよびゾーンでは利用できなくなります。
- 2025-01-06 – どのプランの既存のアカウントとゾーンでも、新しいページルールを作成できなくなります(メンテナンスモード)。
- 2025年中 – 既存のページルールを最新のルール機能に移行します。この移行期間中は、移行対象の既存のページルールを編集できません。
よって、今後のCloudflareを用いたリダイレクトはCloudflareのマイグレーションガイドに従い、リダイレクトルール機能から設定する必要があります。
当然この方法で転送できるURLは、ドメインのDNSをCloudflareでセットアップしている場合のみです。サーバーの.htaccessを用いたリダイレクトの方が望ましい場合もあります。
www.example.comをexample.comにリダイレクトする場合
まず、Cloudflareのダッシュボードから「ルール」、「リダイレクトルール」を選択します。

「+ ルールを作成」を選択。

リダイレクトルールを以下のように設定します。

ルール名はリダイレクト先URLなどわかりやすい値を設定します
次に、カスタムフィルタ式を選択し、フィールドを「ホスト名」、オペレーターを「等しい」、値を「www.miyaki-miyagi.com」 (転送元のwwwサブドメイン付きのURL)とします。
実行内容は、ルート以下のパスを付加する場合、タイプを「動的」、式を「concat("https://miyaki-miyagi.com/blog/", http.request.uri.path)」の様に設定します。さらに、「クエリ文字列を保持する」にチェックを追加します。
単純にリダイレクトする場合は、タイプを「静的」、式を「https://miyaki-miyagi.com/blog/」とします。
最後に展開を選択することで、ルールが追加されます。なお、競合するページルールがある場合は、事前に停止してからリダイレクトルールを追加します。

ルートドメインのアクセスをサブディレクトリにリダイレクトする場合
基本的な設定方法は上記と同様ですが、サブディレクトリは含まず、ルートドメインへのアクセスのみを転送するため、以下の様に設定します。

カスタムフィルタ式のフィールドを「完全URI」、値を「https://miyaki-miyagi.com/」 (https付きのルートドメイン)、実行内容のタイプを「静的」、URLを「https://miyaki-miyagi.com/blog/」としました。
今回は試していませんが、「動的」でルート以下のパスを保持することも可能だと思われます。
その他
従来のページルールでは、Freeプランのユーザーは3件までしかルールを設定できませんでしたが、リダイレクトルールでは単一リダイレクトのみでも10件のルールを設定できる様になっています。
