73

質問の Web 検索を実行しましたが、結果に完全に失望しました。この場合、domain.com へのすべてのリクエストをサブドメイン www.domain.com にリダイレクトします。

だから私が持っているもの:

  1. www.domain.com - メインのウェブサイト ドメイン。すべてのクライアント リクエストはここにリダイレクトされます。
  2. domain.com - www プレフィックスを使用しないユーザー向けの別の Web サイト エントリ ポイント。すべてのリクエストは www.domain.com にリダイレクトする必要があります。
  3. mydomain.com - 代替 Web サイト エイリアス。すべてのリクエストは www.domain.com にリダイレクトする必要があります。
  4. www.mydomain.com - www プレフィックスを使用している場合、すべてのリクエストを www.domain.com にリダイレクトする必要があります。

これは .htaccess と PHP を使用して可能であることを理解しています。しかし、DNS のみを使用してこれを行う方法を理解したいと思います。また、DNS クエリの結果によって HTTP レイヤーで発生することは変わらないため、最初に入力されたドメイン名が常にホストの Web サーバーに送信されることも理解しています。したがって、domain.com を www.domain.com に書き換えるには、依然として Apache mod_rewrite が必要です。しかし、DNS (CNAME および A レコード) を使用して作業の主要部分を実行したいと考えています。

したがって、主な質問は、上記の各ドメインが持つべき CNAME と A レコードは何かということです。

4

1 に答える 1

72

www.domain.com を A レコードにし、他のすべてのドメイン名を www.domain.com の CNAME にすることができます。ただし、これは、www.domain.com の IP アドレスが変更された場合に、エイリアスであるため、他の DNS エンティティを変更する必要がないことを「解決」するだけです。

そのため、DNS レベルでリダイレクトを強制する方法はありません。DNS は HTTP 以外にも使用されるため、正当な理由があります。たとえば、domain.com に対するすべてのリクエストが www.domain.com にリダイレクトされる場合、メール アドレスは user@www.domain.com に変更されます。

したがって、HTTP リダイレクトの場合、HTTP ソリューションを使用する必要があります。これは Web サーバー レベル (mod_rewrite、コード内、javascript (ugh) など) で行うことができますが、これを処理するために Web サーバーの前にプロキシを配置することもできます。

于 2013-03-02T08:28:06.190 に答える