網域中 A 和 CNAME 的差別

偶然想到一個蠻簡單的解釋。

想成變數就好了

其實 CNAME 的最主要的作用是用來把「原本的域名」取一個「別名」,例如原本是 peanu.tw,現在添加一個 CNAME 後變成 www.peanu.tw,所以用兩個網址都可以連到 127.0.0.1 這個 IP 位址。

用程式碼的話可以這樣表示:

1
2
3
4
// A
peanu.tw = '127.0.0.1';
// CNAME
www.peanu.tw = '127.0.0.1';

所以你也可以這樣子設定 CNAME:

1
2
3
4
5
6
// A
peanu.tw = '127.0.0.1';
// CNAME
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
// A
peanu.tw = '666.0.0.1';
// CNAME
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
// 設定 A 指向的 IP 位址
const A = '127.0.0.1';
// 域名 = A
peanu.tw = A;

// 設定 CNAME 指向的 IP 位址
const CNAME = peanu.tw;
// 域名 = CNAME
www.peanu.tw = CNAME;
blog.peanu.tw = CNAME;
messageBoard.peanu.tw = CNAME;

這樣子做的話,當 A 的 IP 位址變了,所有的 CNAME 也會自動跟著變,就不用一個一個改了。

PHP 如何取得最新一筆的資料 id? 怎麼設定子網域?
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×