Cloudflareのwww→非wwwリダイレクトルールが効かなかったので原因を調べてみました

www.wp-kyoto.net へのアクセスを wp-kyoto.net(www無し)へ301リダイレクトする設定を、CloudflareのRedirect Rulesで作りました。ルール自体はシンプルなのですが、保存 […]

広告ここから
広告ここまで

目次

    www.wp-kyoto.net へのアクセスを wp-kyoto.net(www無し)へ301リダイレクトする設定を、CloudflareのRedirect Rulesで作りました。ルール自体はシンプルなのですが、保存時に「このルールはあなたのトラフィックには適用されない可能性があります」という警告が出て、原因を調べることになったので記録しておきます。

    Redirect Rulesでwww→apexのリダイレクトルールを作る

    Cloudflareダッシュボードの「ルール」から、リダイレクトルールを作成します。用意されているテンプレートの中に、wwwから非wwwへのトラフィック転送を前提にした「新しいシングルリダイレクトを作成する」があったので、これを使いました。

    Cloudflareの「新しいシングルリダイレクトを作成する」画面。ルール名にwww.wp-kyoto.netと入力している

    ルール名を www.wp-kyoto.net とし、リクエストURLに https://www.wp-kyoto.net/* を、ステータスコードには301 Permanent Redirectを指定します。

    リクエストURLにhttps://www.wp-kyoto.net/*を設定し、ターゲットURLにhttps://${1}を指定した状態

    テンプレートのままだとターゲットURLが https://${1} で、ドメイン部分が空になってしまうため、https://wp-kyoto.net/${1} に書き換えました。このとき、POSTリクエストをリダイレクトする場合は307/308を使うようにという注意書きも表示されましたが、今回はGETのアクセスを想定しているので301のままにしています。

    ターゲットURLをhttps://wp-kyoto.net/${1}に修正し、POSTリクエストに関する注意書きが表示されている状態

    保存時に出た警告

    設定を保存しようとしたところ、次の警告ダイアログが表示されました。

    「このルールはあなたのトラフィックには適用されない可能性があります」という警告ダイアログ

    「このルールはあなたのトラフィックには適用されない可能性があります」というタイトルで、DNS構成によりwww.wp-kyoto.netのトラフィックがプロキシされていない可能性があり、リクエストがこのルールに一致しない可能性がある、という内容です。選択肢は「とにかくルールを無視して展開する」と「新しいプロキシDNSレコードを作成します」の2つでした。ひとまず「とにかくルールを無視して展開する」を選んでルールは展開しましたが、警告が出ている以上、原因は確認しておくことにしました。

    原因: wwwがCloudflare Workersのカスタムドメインに登録されていなかった

    wp-kyoto.netはCloudflare Workers(wpkyotoという名前のWorker)で配信しており、Workers & Pagesの「ドメイン」タブでカスタムドメインとルーティングを管理しています。このタブを確認すると、登録されていたのはwp-kyoto.net(本番環境)だけで、www.wp-kyoto.netは登録されていませんでした。

    Cloudflare Workers & Pagesの「ドメイン」タブ。カスタムドメインにwp-kyoto.netのみが登録されている状態

    CloudflareのRedirect Rulesは、対象のホスト名がCloudflareでプロキシされている状態でなければ機能しません。wp-kyoto.netのDNSはWorkersのカスタムドメイン機能を経由して管理されているため、www側にプロキシ済みのDNSレコードが存在せず、www.wp-kyoto.net宛てのリクエストがそもそもルールエンジンを通っていなかったようです。先ほどの警告は、この状態を正しく検出して表示されていたことになります。

    Workersのカスタムドメインにwwwを追加する

    「ドメインを追加」から、wp-kyoto.net に接続する設定でサブドメイン欄に www を入力します。

    「wp-kyoto.netに接続」ダイアログでサブドメイン欄にwwwと入力している状態

    ドメインを追加すると、DNS管理画面で wp-kyoto.net と www.wp-kyoto.net の両方が「プロキシ済み」の状態で登録されました。

    DNS管理画面。wp-kyoto.netとwww.wp-kyoto.netの両方がWorker宛てにプロキシ済みの状態で登録されている

    リダイレクトルールが機能するか確認する

    この状態で改めてルール一覧を確認すると、リダイレクトルールが1個アクティブとして登録されています。

    Cloudflareの「ルール」概要画面。リダイレクトルールが1個アクティブとして表示されている

    リダイレクトルール一覧。www.wp-kyoto.netというルールがアクティブとして1件表示されている

    最後にwgetコマンドで実際の挙動を確認しました。

     wget -S --spider https://www.wp-kyoto.net
    スパイダーモードが有効です。リモートファイルが存在してるか確認します。
    --2026-07-07 22:46:26--  https://www.wp-kyoto.net/
    www.wp-kyoto.net (www.wp-kyoto.net) をDNSに問いあわせています... 172.67.153.104, 104.21.82.46
    www.wp-kyoto.net (www.wp-kyoto.net)|172.67.153.104|:443 に接続しています... 接続しました。
    HTTP による接続要求を送信しました、応答を待っています... 
      HTTP/1.1 301 Moved Permanently
      Date: Tue, 07 Jul 2026 13:46:26 GMT
      Content-Type: text/html; charset=UTF-8
      Connection: keep-alive
      Location: https://wp-kyoto.net/
      Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=AtWff1FKb61MO2KwTjaPlfiSUV%2BSV4zPYzuUm65umOfqks%2F%2ByP2WkHYXviK8QdY4GdjR6wpUyY4HuDC2784IFsIJsMrWvphdyNrzDvX1%2FpNqUh6sKz1PCKUULWiEJ%2Bb%2BGpnx"}]}
      Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
      Server: cloudflare
      CF-RAY: a1774b9d280019ed-KIX
    場所: https://wp-kyoto.net/ [続く]
    スパイダーモードが有効です。リモートファイルが存在してるか確認します。
    --2026-07-07 22:46:26--  https://wp-kyoto.net/
    wp-kyoto.net (wp-kyoto.net) をDNSに問いあわせています... 104.21.82.46, 172.67.153.104
    wp-kyoto.net (wp-kyoto.net)|104.21.82.46|:443 に接続しています... 接続しました。
    HTTP による接続要求を送信しました、応答を待っています... 
      HTTP/1.1 200 OK
      Date: Tue, 07 Jul 2026 13:46:26 GMT
      Content-Type: text/html
      Connection: keep-alive
      Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Qq7p0CYpSxhYkcAydYJhnlaUnfH%2BxakyPOMUDRV6NrNu7HVJV%2FlrFwcMRPeNoIRms142fXqkArI%2FYCzW4D1z2dHpztctZzQoF1GoZcThtMigQ4Sm7mgvMugHpPn64bs%3D"}]}
      Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
      Server: cloudflare
      CF-RAY: a1774b9db9f0d3ce-KIX
      alt-svc: h3=":443"; ma=86400
    長さ: 特定できません [text/html]
    リモートファイルが存在し、さらなるリンクもあり得ますが、再帰が禁止されています -- 取得しません。

    www.wp-kyoto.net へのリクエストが301 Moved Permanentlyで返り、LocationヘッダーがLocation: https://wp-kyoto.net/ になっていること、そのリダイレクト先へのリクエストが200 OKで返ってきていることが確認できました。

    まとめ

    Cloudflare WorkersのカスタムドメインでZoneを運用している場合、Redirect Rulesを追加しただけではルールが対象のホスト名に適用されないことがある、というのが今回の記録です。ルール作成時に出る警告文はそのまま原因を言い当てていたので、警告が出た場合はDNS側(あるいはWorkersのドメイン設定側)に対象ホスト名のプロキシ済みレコードがあるかを、まず確認したほうがよさそうです。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark