
page.mydomain.tkをmydomain.tk/pageにリダイレクトしたいのですが、新しいレコードを次のように設定してみました。
Name: page A, TTL 3600, Target: <IP>
しかし、これはmydomain.tkにリダイレクトされます。
Name: page CNAME, TTL 3600, Target: mydomain.tk/page
しかし、その結果
Error occured: Invalid name in dnsrecord
何かヒントがあれば、よろしくお願いします。
答え1
DNS CNAME は Web リダイレクトではなく、「A レコード」リダイレクトにすぎません。したがって、CNAME 変換は HTTP リクエストの外部で完全に行われるため、完全な URL ではなく、別のドメイン名のみを指すことができます。
複数の異なるドメインが同じサーバーを指している場合(CNAME経由かA/AAAAレコード経由かに関係なく)、サーバーまで2 つの異なる名前で呼び出されていることを認識し、受信した URL をそれに応じて変換します。
(ほとんどの Web サーバーでは、この機能を「名前ベースの仮想ホスト」または略して「vhosts」と呼んでいます。)
mydomain.tk
GitHub Pages で Web サイトをホストしている場合は、リポジトリのCNAME
ファイル内に 1 つ、page.mydomain.tk
リポジトリのファイル内にもう 1 つという 2 つの別々のリポジトリを用意することで、これを実現できるはずですCNAME
。