偶然想到一個蠻簡單的解釋。
想成變數就好了
其實 CNAME 的最主要的作用是用來把「原本的域名」取一個「別名」,例如原本是 peanu.tw
,現在添加一個 CNAME 後變成 www.peanu.tw
,所以用兩個網址都可以連到 127.0.0.1
這個 IP 位址。
用程式碼的話可以這樣表示:
1 2 3 4
| peanu.tw = '127.0.0.1';
www.peanu.tw = '127.0.0.1';
|
所以你也可以這樣子設定 CNAME:
1 2 3 4 5 6
| peanu.tw = '127.0.0.1';
www.peanu.tw = '127.0.0.1'; blog.peanu.tw = '127.0.0.1'; messageBoard.peanu.tw = '127.0.0.1';
|
可是這樣其實有個問題,當今天 IP 位址改變的話我就得改所有的 A 和所有的 CNAME:
1 2 3 4 5 6
| peanu.tw = '666.0.0.1';
www.peanu.tw = '666.0.0.1'; blog.peanu.tw = '666.0.0.1'; messageBoard.peanu.tw = '666.0.0.1';
|
所以更好的做法應該要像這樣:
1 2 3 4 5 6 7 8 9 10 11
| const A = '127.0.0.1';
peanu.tw = A;
const CNAME = peanu.tw;
www.peanu.tw = CNAME; blog.peanu.tw = CNAME; messageBoard.peanu.tw = CNAME;
|
這樣子做的話,當 A 的 IP 位址變了,所有的 CNAME 也會自動跟著變,就不用一個一個改了。