修改 hosts 檔案1不管你用的是什麼系統,windows, mac,電腦上都會有一個 hosts 檔案,修改這個檔案,可以改變主機名所對應的 ip 地址。比如你安裝了 Web 開發環境(MAMP 或 WAMP),啟動環境以後,訪問
http://localhost
修改 hosts 檔案1不管你用的是什麼系統,windows, mac,電腦上都會有一個 hosts 檔案,修改這個檔案,可以改變主機名所對應的 ip 地址。比如你安裝了 Web 開發環境(MAMP 或 WAMP),啟動環境以後,訪問
http://localhost
你就會開啟環境的預設的目錄,這個 localhost 就是在 hosts 檔案裡定義的,它所指向的 ip 地址是 127.0.0.1 ,這個 ip 地址表示本地的你正在使用的這臺電腦,瞭解詳細的內容,可以搜尋一下 :)修改這個 hosts 檔案,我們可以手工的去指定任何主機名指向任何的 ip 地址,當然這個設定隻影響你自己的電腦,比如我們可以隨便造一個域名,比如 hello.com,讓這個域名指向你的電腦,也就是 127.0.0.1 這個 ip 地址。這樣你在瀏覽器中請求 hello.com ,開啟的就是你在本地電腦上搭建的環境所指定的目錄裡的東西。為了測試 apache 的虛擬主機功能,你可以去虛擬幾個這樣的域名,這樣在建立虛擬主機的時候,你可以讓這些域名開啟各自的目錄。下面,我們先去修改這個 hosts 檔案。1. 找到 hosts 檔案,windows 系統是在 Windows\System32\Drivers\etc 這個目錄下,Mac 系統是在 /etc/hosts ,找到以後可以使用文字編輯軟體開啟它。2. 在 hosts 檔案裡,新的一行上,先輸入 ip 地址 127.0.0.1 ,然後空格,再輸入一個主機名,這個主機名可以隨便,比如 hello.com ,這樣訪問 hello.com 就會開啟在你的電腦上的網站了。另起一行,再去定義一條,127.0.0.1 hola.com 。3. 儲存修改之後的 hosts 檔案,然後啟動在本地上的 Web 環境,開啟瀏覽器,在位址列上輸入 hello.com ,還有 hola.com ,看看開啟的是不是你在本地上的內容。現在,你看到的應該跟你使用http://localhost
開啟的是一樣的東西。END配置 Apache 虛擬主機現在,我們虛擬了兩個域名,讓它們指向了本地的電腦,訪問它們,開啟的是同一個目錄裡的內容,下面這個練習,我們透過修改 Apache 的配置檔案,讓訪問不同域名的時候,開啟的是不同的目錄。你首先要判斷一下配置 Apache 虛擬主機的配置檔案,一般是在 httpd.conf 這個主配置檔案裡面,不過,很多環境都會單獨把虛擬主機放在一個配置檔案裡面,然後在 httpd.conf 檔案裡指定一下,包含這個單獨配置虛擬主機的檔案。1. 找到配置虛擬主機的配置檔案,如果你用的是 WAMP 搭建的環境,先找到並開啟 httpd.conf ,在這個檔案裡,搜尋 # Virtual hosts ,它下面有一行程式碼, #Include conf/extra/httpd-vhosts.conf... 你可以去掉它前面的 # ,這樣,Apache 啟動以後,也會去載入這個httpd-vhosts.conf 配置檔案,這樣做的好處就是可以保持 Apache 相關設定的整潔。當然,你完全可以在主配置檔案 httpd.conf 裡面去設定虛擬主機。2. 開啟 httpd-vhosts.conf 這個檔案,沒有這個檔案也可以去建立一個,或者直接在 httpd.conf 檔案裡面去配置虛擬主機。配置虛擬主機的東西應該像這樣:3. 應該有兩段這樣的程式碼,每一段都是在配置一個虛擬主機,你可以複製其中的一段,然後貼上到檔案的最下面。再根據自己的需要去修改這段程式碼。理解它的意思,ServerAdmin 就是網站的管理員的郵箱,DocumentRoot 是虛擬主機的主目錄,也就是訪問這個虛擬主機所開啟的那個目錄,這個目錄你可以自己去指定,要注意的是,你需要先去建立這個目錄,然後再在這裡去指定這個目錄的位置。ServerName 是主機名,比如之前我們虛擬的那個主機名 hello.com,ServerAlias 是主機的別名,你可以指定一個其它的主機名,訪問它的時候也會開啟這個虛擬主機的目錄裡的東西。ErrorLog 是錯誤的日誌,也就是發生錯誤的時候,會把錯誤記錄到哪個檔案裡。CustomLog 是虛擬主機訪問的日誌。這樣自己新新增的虛擬主機看起來應該像這樣:34. 在瀏覽器裡開啟 hello.com ,訪問的是這個虛擬主機的配置裡 DocumentRoot 所指定的 /Applications/MAMP/htdocs/hello 這個目錄裡的東西,你可以在這個目錄裡面放點東西,比如一個 WordPress 或者 Drupal 的網站等等。注:配置虛擬主機的時候,第一個虛擬主機是預設的,你需要留著,配置自己的虛擬主機,可以從第二個開始配置,也就是第二段 <VirtualHost> 程式碼。