純粋なDNSレコードを使用して、firstdomain.com
をwww.seconddomain.com
またはseconddomain.com
に転送できますか?
www.firstdomain.com
をseconddomain.com
に転送する方法を知っています(CNAMEを使用)。
私がやろうとしているのは、サイトをあるドメインから別の(新しい)ドメインに移動することであり、古いドメイン名を使用するすべてのリンクを壊すことではありません。
GitHub Pagesでホストされているため、301リダイレクトを実行できず、Webサーバーにアクセスできません。
私は最終的にApache configリダイレクトでこれを解決しました(純粋なDNSでそれをしたかったのですが、これは不可能なようです...)
<VirtualHost *:80>
DocumentRoot /www/html/firstdomain.com
ServerName firstdomain.com
RedirectMatch 301 ^(.*)$ http://seconddomain.com$1
ErrorLog logs/firstdomain.com-error_log
TransferLog logs/Host.example.com-access_log
</VirtualHost>
いいえ、DNSのみを使用してこれを達成することはできません。 DNSにはリダイレクトの概念がなく、さまざまな理由があります。おそらく最も重要なのは、リダイレクトは本質的にHTTPプロトコルの一部であり、必ずしもDNSレコードに関連しているわけではありません。
IPに直接接続するリダイレクトを発行することもできますし、逆に、TXTレコードまたはターゲットサーバーがssh接続のみを受け入れるAレコードに対しても、リダイレクトの概念がまったく意味をなさない可能性があります。 (またはHTTP(s)ではなく他のプロトコル)。
リダイレクトを実現するには、以下を行う必要があります
CNAMEまたはAレコードはステップ1のみをカバーしますが、他のレコードをカバーするには、HTTPリダイレクトを処理するサーバーも必要です(説明されているように、これはHTTPプロトコルの一部であり、現在DNSプロトコルでカバーされていないため)
可能な解決策がいくつかあります。
単純なCNAME DNSエントリの何が問題になっていますか?