ダイレクト回答

宛先URLの変数は、{host}、{host.domain}、{host.sub}、{path}、{qs} のようなプレースホルダーで、リダイレクトの宛先に入力します。訪問者が到着すると、RedirHub は各変数を受信リクエストの該当部分に置き換えるため、1つのリダイレクトルールで多数のホスト名、サブドメイン、パスを適切な場所に振り分けることができます。

通常のリダイレクトは、常に同じ固定URLへ送信します。変数を使うと宛先を動的にできます。宛先は、各リクエストのホスト名、パス、クエリ文字列から組み立てられます。これは、ドメインを移行するときにパスを維持したい場合、ワイルドカードルール1つで多数のサブドメインをリダイレクトしたい場合、または複数の古いドメインを1つのWebサイトに統合したい場合に便利です。

パスまたはクエリ文字列だけを保持しますか?

それなら変数は不要です。リダイレクトを編集するときに、転送オプションで「パス転送」または「クエリ転送」を有効にしてください。

スイッチではできないことが必要な場合に変数を使います。たとえば、ホスト名やサブドメインを挿入したり、宛先側にすでに独自のクエリ文字列がある場合にパスを保持したりすることです。

利用可能な変数#

https://shop.example.co.uk/sale/shoes/?color=red へのリクエストに対する例の値
Variable挿入される内容例の値
{host}要求された完全なホスト名shop.example.co.uk
{host.domain}サブドメインを含まない登録ドメインexample.co.uk
{host.sub}サブドメイン部分のみ(サブドメインがない場合は@)shop
{path}先頭にスラッシュを付けた要求パス/sale/shoes
{uri}先頭のスラッシュを除いた要求パスsale/shoes
{qs}クエリ文字列(? または & を含む。ない場合は空)?color=red
{random_string}ランダムな6文字の値(a〜z、0〜9)。リクエストごとに毎回新しくなりますk3x9a1

いくつかの注意点:

  • 正確なスペル:変数はすべて小文字で、波括弧 { } で囲みます。RedirHub が認識しないもの(例: {HOST} )は、そのままURLに残されます。
  • 複数パートのドメイン末尾: {host.domain} は .co.uk や .com.au のような末尾を正しく処理します。a.b.example.com の場合、 {host.domain} は example.com、 {host.sub} は a.b です。
  • ベアドメイン:ルートドメインへのリクエスト(example.com)では、 {host.sub} は @ になります。
  • 末尾スラッシュ: {path} と {uri} は末尾のスラッシュを削除します。たとえば /blog/ は /blog になります。ホームページでは、 {path} は /、 {uri} は空です。
  • クエリ文字列の連結: {qs} は、宛先にまだクエリ文字列がない場合は ? を追加し、すでにある場合は & を追加します。リクエストにクエリ文字列がない場合は、何も追加しません。

転送スイッチまたは変数?#

パス転送とクエリ転送は、リダイレクトを編集するときに「転送オプション」内にあります。
やりたいこといちばん簡単な方法Example
パスを保持パス転送 スイッチa.com/one/two → b.com/one/two
クエリ文字列を保持クエリ転送 スイッチa.com/?ref=chatgpt → b.com/?ref=chatgpt
両方保持両方のスイッチをオンにするa.com/one?ref=x → b.com/one?ref=x
宛先に独自のクエリ文字列がある場合はパスを保持する{path}b.com{path}?lang=en
ホスト名、ドメイン、またはサブドメインを使用する{host}、{host.domain}、{host.sub}b.com/team/{host.sub}
すべての訪問に一意の値を追加する{random_string}b.com/offer?ref={random_string}

変数とスイッチは組み合わせて使用できます。たとえば、{host.sub} に加えてパス転送を行う宛先では、サブドメインとパスの両方が維持されます(以下の例を参照)。

リダイレクトに変数を追加する方法#

  1. RedirHub ダッシュボードで既存のリダイレクトを開くか、新しいリダイレクトを作成してください。
  2. 宛先URLで、値を入れる場所に変数を入力します。たとえば https://www.example.com/team/{host.sub} のようにします。
  3. 宛先に {path}、{uri}、または {qs} をご自身で配置した場合は、そのリダイレクトについてパス転送またはクエリ転送をオフにしてください(以下を参照)。
  4. 保存してから、ホームページを含むいくつかの実際のURLでテストしてください。うまくいかない場合は「新しいリダイレクトのトラブルシューティング」を参照してください。

例#

宛先に独自のクエリ文字列がある場合はパスを維持する#

textDestination: https://www.new-domain.com{path}?lang=en

old-domain.com/blog/hello  →  https://www.new-domain.com/blog/hello?lang=en
old-domain.com/            →  https://www.new-domain.com/?lang=en

パス転送は常に、パスを宛先の末尾に追加します。ここでは https://www.new-domain.com/?lang=en/blog/hello になります。{path} を使うと、パスをどこに配置するかを決められます。宛先にクエリ文字列がない場合は、代わりにパス転送をオンにしてください。

各サブドメインをそれぞれ個別のページに送信#

textSource:      *.example.com
Destination: https://www.example.com/team/{host.sub}

alice.example.com  →  https://www.example.com/team/alice
bob.example.com    →  https://www.example.com/team/bob

ワイルドカードのソースであらゆるサブドメインをカバーし、変数によってそれぞれの行き先が決まります。ワイルドカードサブドメインについて、プランの提供状況やSSLを含めて詳しく読む

サブドメインは維持し、ドメインを変更する#

textSource:      *.old-brand.com
Destination: https://{host.sub}.new-brand.com   + パス転送を有効化

shop.old-brand.com/cart  →  https://shop.new-brand.com/cart
docs.old-brand.com/api   →  https://docs.new-brand.com/api

注意

ドメイン単体では {host.sub} が @ になるため、old-brand.com/cart は https://@.new-brand.com/cart になります。

ルートドメイン(old-brand.com)用に個別のリダイレクトを作成し、送信先を https://new-brand.com に設定します。パス転送を有効にします。

複数のドメインを統合して、訪問者がどこから来たかを確認する#

textDestination: https://www.new-brand.com/?from={host.domain}

old-brand.co.uk/        →  https://www.new-brand.com/?from=old-brand.co.uk
shop.old-brand.de/sale  →  https://www.new-brand.com/?from=old-brand.de

どの古いドメインでも同じ宛先を使えます。また、分析では各訪問者がどのドメインを入力したかを引き続き把握できます。

クエリ文字列を保持する#

text宛先: https://www.new-domain.com/landing?src=old   + クエリ転送を有効化

old-domain.com/?utm_source=mail  →  https://www.new-domain.com/landing?src=old&utm_source=mail
old-domain.com/                  →  https://www.new-domain.com/landing?src=old

これには変数は不要です。クエリ転送スイッチが訪問者のクエリ文字列を追加し、? または & を自動で選ぶため、キャンペーン計測はそのまま維持されます。リダイレクトを通じてUTMパラメータを保持する方法も参照してください。

ランダムな値を追加#

text宛先: https://www.example.com/offer?ref={random_string}

example.com/promo  →  https://www.example.com/offer?ref=4k9zq1  (リクエストごとに異なります)

変数と転送スイッチ#

パス転送とクエリ転送のスイッチは、裏側では同じ変数を使用します。パス転送は宛先の末尾に /{uri} を追加し、クエリ転送は {qs} を追加します。すでに宛先に {path}、{uri}、または {qs} を自分で入れている場合は、該当するスイッチをオフのままにしてください。そうしないと、値が2回追加されます:

text宛先: https://www.new-domain.com{path}   + パス転送を有効化

old-domain.com/about  →  https://www.new-domain.com/about/about

変数は、訪問者がどこに送られるかだけを変更します。どのリダイレクトがリクエストを処理するかは、RedirHubの一致ルールによって決まります。

トラブルシューティング#

  • 変数がURL内にそのまま表示されています:スペル、小文字、波括弧({})を確認してください。
  • 二重スラッシュが表示されます(new-domain.com//about):{path} はすでにスラッシュで始まっています。 https://new-domain.com{path} または https://new-domain.com/{uri} と記述してください。
  • パスまたはクエリ文字列が重複しています:そのリダイレクトに対して、パス転送またはクエリ転送をオフにしてください。
  • ホスト名に @ が表示されます:リクエストはベアドメイン向けでした。ルートドメイン用に別のリダイレクトを追加してください。

よくある質問

いいえ。リダイレクトを編集する際に、転送オプションの下でパス転送またはクエリ転送をオンにしてください。スイッチではできないホスト名やサブドメインの挿入、宛先に既に独自のクエリ文字列がある場合のパスの保持などが必要な場合にのみ変数を使用します。

はい。変数は波括弧の中に小文字で正確に記載する必要があります。例えば {host.domain} のように。RedirHubが認識しない変数(例: {HOST} や {domain})は、宛先で変更されずにそのまま残ります。

はい。必要なだけ多くの変数を組み合わせることができ、各変数は複数回使用できます。例えば、https://{host.sub}.new-brand.com{path}{qs} はサブドメイン、パス、およびクエリ文字列を保持します。

どちらもトレーリングスラッシュなしで要求されたパスを挿入します。{path} はスラッシュで始まります (/blog/hello) ので、ドメインの直後に置いてください。{uri} は先頭にスラッシュがないため (blog/hello)、スラッシュを自分で追加する必要があります: https://new-domain.com/{uri}。

{host.domain} は複数部分のドメインの末尾を理解します。shop.example.co.uk へのリクエストは example.co.uk を返し、{host.sub} は shop を返します。

はい。変数は、*.example.com のようなワイルドカードソースでカバーされるすべてのサブドメインに独自の宛先を提供する最も簡単な方法です。例えば https://www.example.com/team/{host.sub} のように。