【XAMPP】【Apache】將多個domain 導向到同一個網域

我有兩個網域 yuyuGoal.net 與 yuyuGoal.com
希望今天不管連哪一個,最終都會導到 yuyuGoal.com
如此有助於SEO累積同一個網域的流量


名詞定義

首先要來點枯燥一點的
解釋一些名詞,定義網路上可能有看沒有懂的詞彙
網路上都會流傳著這種圖來解釋,但其實會讓人誤解




現在先遺忘上面那張圖

假設我註冊了一個網域叫作 www.example.com

頂級網域 Top Level Domain (TLD): com 
二級網域 Second Level Domain (SLD): example 


對TLD來說,他可以設置 aaa.com、bbb.com...
對SLD來說,他可以設置 aaa.example.com、bbb.example.com...


所以 aaa.com、bbb.com 這些名稱雖然叫做SLD,但是是由TLD掌管





針對這個模糊的問題:Second-Level Domain可以用CNAME嗎?
答案是,可以!
example.com 當然可以讓 aaa.com.example 使用CNAME record


繼續的問題:Top-Level Domain可以用CNAME嗎?
答案是,不行!
com 不能讓 com.example 使用CNAME record





搞懂TLD跟SLD之後,繼續延伸
Root Domain、Top Level Domain兩者的定義不同
根網域Root Domain是域名體系的最頂層,站在第零層,而非第一層。會以 `.` 一個點的符號代表


www.example.com. 
Root Domain為上方最右側的紅色那個點,通常會被省略

所以網域正確來說在結尾處都要加個點`.`


1. 假設我註冊了一個網域叫作 www.example.com.

根網域 Root Domain: . 
頂級網域 Top Level Domain (TLD): .com 
二級網域 Second Level Domain (SLD): .example 
子網域 SubDomain: xxx.www.example.com. yyy.www.example.com. ... 


2. 假設我註冊了一個網域叫作 example.com.

根網域 Root Domain: . 
頂級網域 Top Level Domain (TLD): .com 
二級網域 Second Level Domain (SLD): .example 
子網域 SubDomain: www.example.com. yyy.example.com.




這些都了解之後,再來做接下來的設定~



在HOSTNAME的那格位置上可以嘗試
1. 留空白,代表 DomainRoot
2. `@` (與留空白同樣意思)
3. `*` (通配符,代表所有子域名)

域名DNS設定



如果註冊了 yuyugoal.net.
只能讓 www.yuyugoal.net CNAME yuyugoal.com
而無法讓 yuyugoal.net 也CNAME yuyugoal.com
因為掛在TLD底下的域名,只能透過設成A導到IPv4
無法設定成CANME(掛在SLD底下的才能)

否則會出現以下錯誤,也根本無法解決

There were problem(s) with your request:
  • yuyugoal.net for CNAME record also has NS record(s)
  • yuyugoal.net for CNAME record also has SOA record(s)
Please make applicable changes and try again.



最終設定

此設定達成以下跳轉
yuyugoal.net => yuyugoal.com
docs.yuyugoal.net => docs.yuyugoal.com
doc.yuyugoal.net => docs.yuyugoal.com
www.yuyugoal.net => yuyugoal.com


yuyugoal.com

原網站,四個都用A




yuyugoal.net

第一格(域名本身)只能用A,而無法用CNAME
其他都用CNAME









Apache伺服器端設定

Redirect Parament 的話就不用設定 Document Root 這一行了


httpd-vhosts.conf
```
<VirtualHost *:80>
    DocumentRoot "C:\www\yuyuGoal\website"
    ServerName yuyuGoal.com
    ServerAlias yuyuGoal.com www.yuyuGoal.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\www\yuyuGoal\docs"
    ServerName docs.yuyuGoal.com
    ServerAlias docs.yuyuGoal.com doc.yuyuGoal.com
</VirtualHost>

<VirtualHost *:80>
    ServerName yuyuGoal.net
    ServerAlias yuyuGoal.net www.yuyuGoal.net
    Redirect permanent / http://yuyuGoal.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName docs.yuyuGoal.net
    ServerAlias docs.yuyuGoal.net doc.yuyuGoal.net
    Redirect permanent / http://docs.yuyuGoal.com/
</VirtualHost>
```


httpd-ssl.conf
```
<VirtualHost *:443>
    DocumentRoot "C:\www\yuyuGoal\website"
    ServerName yuyuGoal.com:443
    ServerAlias yuyuGoal.com www.yuyuGoal.com
    SSLEngine on
    ...
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "C:\www\yuyuGoal\docs"
    ServerName docs.yuyuGoal.com:443
    ServerAlias doc.yuyuGoal.com docs.yuyuGoal.com
    SSLEngine on
    ...
</VirtualHost>

<VirtualHost *:443>
    ServerName yuyuGoal.net:443
    ServerAlias yuyuGoal.net www.yuyuGoal.net
    Redirect permanent / https://yuyuGoal.com/
    SSLEngine on
    ...
</VirtualHost>

<VirtualHost *:443>
    ServerName docs.yuyuGoal.net:443
    ServerAlias doc.yuyuGoal.net docs.yuyuGoal.net
    Redirect permanent / https://docs.yuyuGoal.com/
    SSLEngine on
    ...
</VirtualHost>
```


沒有留言:

張貼留言