この質問について Web 検索を実行しましたが、結果にはまったくがっかりしました。ケースは、すべてのリクエストをdomain.example
サブドメインにリダイレクトすることですwww.domain.example
。
私が持っているものは次のとおりです:
www.domain.example
- メインのウェブサイトドメイン。すべてのクライアントリクエストはここにリダイレクトされますdomain.example
- wwwプレフィックスを使用していない人のための別のウェブサイトエントリポイント。すべてのリクエストはリダイレクトされる必要があります。www.domain.examplemydomain.example
- 代替ウェブサイトエイリアス。すべてのリクエストはリダイレクトされる必要がありますwww.domain.examplewww.mydomain.example
- wwwプレフィックスを使用しているユーザーの場合、すべてのリクエストはwww.domain.example
PHPを使用すればこれが可能であることは理解しています.htaccess
。しかし、DNS のみを使用してこれを行う方法を理解したいです。また、DNS クエリの結果によって HTTP レイヤーでの処理が変わることはないため、最初に入力されたドメイン名が常にホストの Web サーバーに送信されるドメイン名になることも理解しています。したがって、書き換えるにdomain.example
は、www.domain.example
Apache mod_rewrite が必要です。しかし、作業の主要部分は DNS (CNAME および A レコード) で実行したいと考えています。
したがって、主な質問は、上記の各ドメインにどのような CNAME レコードと A レコードを設定する必要があるかということです。
ベストアンサー1
www.example.com
A レコードと のその他のすべてのドメイン名を CNAME にすることができますwww.example.com
。ただし、これは の IP アドレスがwww.example.com
変更された場合に、エイリアスである他の DNS エントリを変更する必要がないことを「解決」するだけです。
したがって、DNS レベルではリダイレクトを強制する方法はありません。DNS は HTTP 以外にも使用されるため、当然のことです。たとえば、 のすべてのリクエストが にexample.com
リダイレクトされる場合、www.example.com
電子メール アドレスは に変更されます[email protected]
。
したがって、HTTP リダイレクトには、HTTP ソリューションを使用する必要があります。これは、Web サーバー レベル (mod_rewrite、コード内、JavaScript (うーん) など) で行うことができますが、これを処理するために Web サーバーの前にプロキシを配置することもできます。