😡
[Cloudflare] *.example.com を *.example.net にリダイレクトしたい
こんにちは,ゆいまるです.有益情報を Mogyuchi が 共有 してくれたので書きます.
何をしたいのか
例えば,ドメインを新しく購入する際 foo.example.com
bar.example.com
example.com
があり, *.example.net
に全てをリダイレクトしたいというケースを考えます.
このとき,動的リダイレクトを設定したいじゃないですか.
ドキュメントを漁っていると regex_replace という関数が見えますね?
しかし, regex_replace は free プランだと使えません!(なんとドキュメントに書いてません😡)
さあ,どうしましょう.
どうやるのか
concat("https://", substring(http.host, 0, -11), "example.net", http.request.uri.path)
はい.
何をしているのか
要は concat と substring でホスト名を加工しているわけです.
example.com
は 11 文字なのでサブドメインなどを取得するには 11 文字分削ってあげれば良いわけです.
たとえば, foo.example.com
を 11 文字削ると foo.
になります.
じゃあ example.com
はどうなのかというと,空文字列になります.
これに example.net
をくっつけてあげれば foo.example.com
は foo.example.net
に, example.com
は example.net
になります.
Discussion