Domain-Name-System
放置 DNS 記錄和子域的最佳實踐
假設我有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
一個接一個地選擇實際上會產生什麼影響?
第二個問題是,假設我想在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 記錄,而不會破壞您的郵件記錄或不必手動更改每個子域。
您還需要設置您的網路伺服器來回答這些名稱。這是在 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 的功能。