私が持っていると言うmydomain.com:
オプションAを使用する方が良いですか:
[A] mydomain.com 123.45.67.89
[A] www.mydomain.com 123.45.67.89
またはオプションB:
[A] mydomain.com 123.45.67.89
[CNAME] www.mydomain.com mydomain.com
次々と選ぶことで実際にどのような影響がありますか?
2番目の質問は、サブドメインをblog.mydomain.comに置きたいと言うことです。そして、私はそれを次のようにAレコードとして設定しました。
[A] blog.mydomain.com 123.45.67.89
また、ユーザーが入力しているときにもアクセスできるようにするためにwww.blog.mydomain.com、次のレコードも挿入します。
[A] www.blog.mydomain.com 123.45.67.89
質問は、これは一般的な方法ですか?または、これを行うためのより良い方法はありますか?私が達成したいのは(ユーザーアクセス->リダイレクト先)です:
mydomain.com -> mydomain.com
www.mydomain.com -> mydomain.com
blog.mydomain.com -> blog.mydomain.com
www.blog.mydomain.com -> blog.mydomain.com
other.mydomain.com -> error
乾杯!
一般に、メンテナンスを容易にするためのベストプラクティスは、次のようになります。
[A] mydomain.com 123.45.67.89
[CNAME] www.mydomain.com mydomain.com
[CNAME] blog.mydomain.com mydomain.com
[CNAME] www.blog.mydomain.com mydomain.com
[A] mail.mydomain.com 123.45.67.89
[MX] mydomain.com mail.mydomain.com
これにより、メールレコードを中断したり、各サブドメインを手動で変更したりすることなく、mydomain.comのAレコードを変更できます。
また、これらの名前に応答するようにWebサーバーを設定する必要があります。 Apacheでこれを行う例を次に示します。
NameVirtualHost 123.45.67.89:80
<VirtualHost 123.45.67.89:80>
DocumentRoot /var/www/html/mydomain.com
ServerName mydomain.com
ServerAlias www.mydomain.com
ErrorLog logs/mydomain.com-error_log
CustomLog logs/mydomain.com-access_log combined
</VirtualHost>
<VirtualHost 123.45.67.89:80>
DocumentRoot /var/www/html/blog.mydomain.com
ServerName blog.mydomain.com
ServerAlias www.blog.mydomain.com
ErrorLog logs/blog.mydomain.com-error_log
CustomLog logs/blog.mydomain.com-access_log common
</VirtualHost>
あなたが言及したリダイレクトの場合:
質問は、これは一般的な方法ですか?または、これを行うためのより良い方法はありますか?私が達成したいのは(ユーザーアクセス->リダイレクト先)です:
mydomain.com -> mydomain.com www.mydomain.com -> mydomain.com blog.mydomain.com -> blog.mydomain.com www.blog.mydomain.com -> blog.mydomain.com other.mydomain.com -> error
クライアントのアドレスバーに表示されるURLを実際に変更するには、サーバー側でmod_rewriteを使用して行う必要があり、DNSの機能ではありません。
オプションB.CNAMEレコードを使用して、既存のAレコードのエイリアスを指定します。同じことがブログとwww.blogのエントリにも当てはまります。 CNAMEレコードを選択すると、1つの場所(Aレコード)で実際のIPを変更できます。すべてのエントリをAレコードとして作成する場合は、それぞれを個別に更新する必要があります。
最初の質問では、どちらの方法でも実行できます。 CNAMEとして1つ持つことの唯一の実際の影響は、その名前が検索されると、場合によっては2番目のDNSルックアップが、それが指している名前をフェッチすることです(したがって、今はwww.example.com
を検索して取得しますexample.com
へのポインタであり、実際にIPを取得するにはそれを検索する必要があります)。違いは通常ミリ秒のオーダーであり、サーバーがそれを認識している場合は、ポインターのIPも応答に含まれることがあり、2回目のルックアップを回避します。ただし、それでもより大きなDNSパケットが作成されます。私はそれらをA
レコードとして定義し、自分のドメイン外のホストにはCNAME
sを使用することを好みます。
2番目の質問については、好きなように構成できます。Webサーバーがそれらに応答し、必要に応じて適切なHTTPレベルのリダイレクトを提供することを確認してください(DNSはブラウザーのアドレス要求を別のURLにリダイレクトしないことに注意してください) 。