Always Use HTTPS とは
対象ドメイン内ですべての http
リクエストを https
に 301 リダイレクトする設定です。
Ridirect Rules で書く
Redirect Rules を使えば、従来の Page Rules より柔軟で Dynamic な挙動を実現できます。
Dynamic Redirect Rules (Beta) の発表。これも Ruleset Engine による表現が肝。様々なユースケースに対応でき、ローカル言語に応じたサイト誘導、デバイスタイプ、クッキーベースなど。https://t.co/fy7lx0IbVd
— kyhayama (@kyhayama) October 6, 2022
今回の "Always Use HTTPS " を Redirect Rules で書くと以下のようになります。
ここをスタートポイントとして、除外したい条件やより特定したい条件を追加すると便利です。
確認
以下のように想定通りの挙動になったことが確認できます。
% curl -v "http://www.example.com/articles/index?section=539061&expand=comments"
* Trying 2606:4700::6812:9e2:80...
* Connected to www.example.com (2606:4700::6812:9e2) port 80 (#0)
> GET /articles/index?section=539061&expand=comments HTTP/1.1
> Host: www.example.com
> User-Agent: curl/7.82.0-DEV
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Date: Fri, 20 Jan 2023 16:16:14 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: max-age=3600
< Expires: Fri, 20 Jan 2023 17:16:14 GMT
< Location: https://www.example.com/articles/index?section=539061&expand=comments
< Server: cloudflare
< CF-RAY: 78c91d09fa57ef81-NRT
<
* Connection #0 to host www.example.com left intact