😡

[Cloudflare] *.example.com を *.example.net にリダイレクトしたい

2024/01/20に公開

こんにちは,ゆいまるです.有益情報を 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)

はい.

何をしているのか

要は concatsubstring でホスト名を加工しているわけです.

example.com は 11 文字なのでサブドメインなどを取得するには 11 文字分削ってあげれば良いわけです.
たとえば, foo.example.com を 11 文字削ると foo. になります.
じゃあ example.com はどうなのかというと,空文字列になります.

これに example.net をくっつけてあげれば foo.example.comfoo.example.net に, example.comexample.net になります.

Discussion