Web hosting

  在前面的文章中,我們介紹的什麼是虛擬主機,以及什麼是網域(Domain Name, 領域名稱),那這兩者之間有什麼關係呢?如果要架設網站的朋友,需要準備哪些呢?在這一篇文章中就為各位網站的初學者們來做個說明。

  首先,如前面所說明的,虛擬主機就是一個主機公司在機房中的某一台實體電腦所分享出來的空間,任何的文件資料如果被放在這個磁碟空間中,都會被那台實體電腦上面執行的網頁伺服器(Apache或是Windows IIS)當做是網站的資料而加以呈現。這台實體的電腦主機本身有一個或一個以上的 IP 位址,但是,因為同一台實體主機可能會切割出許多的虛擬主機帳號,所以這些帳號有可能會用到同一個 IP 位址,也有可能會用到不同的 IP 位址,看你購買的是哪一種方案而定。由於不同的帳號可能會用到相同的 IP 位址,所以透過 IP 位址來區分各帳號不同的網站是不太可行的方式,因此,每一個虛擬主機帳號,至少都要被指派到一個或一個以上的網址才行。

  由於 DNS 技術的進步,所以,一個帳號可以指派一個以上甚至是無限多個網址,如果我們把每一個網址都看成是一個網站的話,同一個虛擬主機的帳號,就可以建構出超過一個以上,甚至是沒有限制數量的網站。意思是說,只要經過設定的動作,有可能 tom.abc.com 和 john.xyz.org.tw 這兩個八竿子打不著的網址會在同一個帳號中,甚至有可能還是指向同一個目錄,不管你連線到哪一個網址,看到的都是同一個網站的內容,一模一樣(當然你也可以設定成為不一樣)!

  那究竟怎麼看呢?其實,虛擬主機的帳號,一登入的時候,除了系統使用的資料夾之外,至少會有一個叫做 public_html (有的主機叫做www,也有主機叫做htdoc)的資料夾,在這個資料夾裡面的內容,就是我們的網站內容。假設,我們把一個網域叫做 alice9999.com 的網址指向這個虛擬主機,那麼所有放在 public_html 資料夾裡面的內容,在我們使用瀏覽器輸入網址 http://alice9999.com 時都會被呈現出來。那如果我們在這裡面建立了一個子目錄叫做 blog,則這個子目錄的對應網址就是 http://alice9999.com/blog ,其它的依此類推。

  一般來說,大部份的看法是,如果你的網址是 http://alice9999.com/blog 和 http://alice9999.com 以及 http://alice9999.com/photo 儘管可能安裝的是不同的系統,但是對於瀏覽器或搜尋引擎來說,都會認為這是屬於同一個網站轄下的分站。如果你想要把這另外兩個網站獨立出來,讓搜尋引擎有不同的對待,把它們當做可能是由不同的機構或個人管理的網站的話(分別計算各自的網站權重,彼此不互相影響),那麼就要使用子網域的方式,在主控台中建立兩個不同的子網域,分別叫做 http://blog.alice9999.com 以及 http://photo.alice9999.com 這樣,然後在設定子網域的時候,把前一個子網域所管轄的目錄設定為 public_html/blog ,而後一個子網域則設定在 public_html/photo 即可。不過,大部份的子網域設定要管理的目錄都可以自由地指定,所以當然你也可以把 http://blog.alice9999.com 這個子網域設定其管理的子目錄為 public_html/alice/blog 也是可以的。下面是 cPanel 的子網域設定畫面:

sn01

  在這個例子中,我們打算在在 host.m3c.cc 網域中再建立一個子網域叫做 blog,同時把這個子網域所管理的資料夾設定在 public_html/blog 之下。到時候,我們的子網站的網址就會是 http://blog.host.m3c.cc。