XAMPP虛擬主機配置,多網域綁定存取本地站點
XAMPP有時候你需要一些頂級網域存取方式來存取你本地的專案也就是虛擬主機配置,這時候就需要配置虛擬主機,給你的目錄綁定定一個域名,實現多域名綁定存取。
在Mac 下一直使用 MAMP 搭建本地 php 環境,因為其強大的組合配置以及方便的 UI 操作。因為公司的電腦是Windows的,有時候需要搭建php 環境來調試一些小東西方便自己工作,因為只是小應用,所以自己搭建本地的WAMP 環境就沒有必要了,網上的WAMP環境集成包還是很多的,什麼PHPNow 啊,WampServer 啊,PHPStudy 啊,AppServ 啊,EasyPHP啊之類的我都沒用過,以及我之前一直在使用的UniServer,琳瑯滿目啊,看得我眼花繚亂。之所以後來不用UniServer的原因其實我也不知道, UniServer 很強大,值得推薦一下,但後來我又轉用了XAMPP ,因為它也很強大,而且文件包達100MB還多,當然你可以下載Lite 版本,但檔案大小都比UniServer 大出好幾倍,可能就是因為它的大,後來我才轉用了XAMPP。
有時候你需要一些頂級域名訪問方式來訪問你本地的項目文件而不是目錄方式訪問,這時候就需要配置虛擬主機,給你的目錄綁定一個域名(本地的話可以通過修改hosts 文件隨便綁定什麼網域名稱例如 www.a.com 或localdemo)。
現在假定你有兩個目錄,一個存在於 /xampp/htdocs/a,另一個存在於 /xampp/htdocs/b 。
現在你想要在本地測試的時候訪問 www.a.com 對應的目錄是 /xampp/htdocs/a ,訪問 www.b.com 對應的目錄是 /xampp/htdocs/b 。
懂得 Apache配置的其實就可以繞開了,因為 XAMPP 無非就是集成了 APache 之類的環境集成包,實現多域名也就是透過配置 Apache 實現的。
當 然網上搜尋到的方法很多,但是網上的資訊都是轉載來轉載去的,有的方法我懷疑是否驗證過是否正確都不知道。以下的方法是我親測的,如果你按照我的配置還是 無法實現本地多域名調試的話,可能是因為你的 XAMPP 的版本和我的不一致造成的。你可以在下面留言告知我,我會給你一一解答。以下配置針對的是XAMPP Windows 1.7.1 版本。
1、先修改C盤WINDOWSsystem32driversetc目錄下的 hosts 文件,用記事本打開,加入:
(是在文件的未尾加入)
127.0.0.1 www.a.com
127.0.0.1 www.b.com
127.0.0.1 www.b.com
2、開啟檔案/httpd-vhosts.conf”,確保前面沒有# 註解符,也就是確保引入了vhosts 虛擬主機設定檔。
開啟了httpd-vhosts.conf,預設的httpd.conf預設配置失效(確保httpd-vhosts.conf 檔案裡也開啟了虛擬主機配置,請參閱第3條),存取此IP的網域將全部指向vhosts .conf 中的第一個虛擬主機。 (注意是第一個,詳見第4)
3、在虛擬主機設定檔xamppapacheconfextrahttpd-vhosts.conf裡設定:
取消NameVirtualHost *:80 前面的##,這樣就啟用了vhosts.conf ,預設的httpd.conf預設配置失效。虛擬主機設定將只設定在 httpd-vhosts.conf 裡。
DocumentRoot /xampp/htdocs/a
ServerName www.a.com:irt
DocumentRoot /xampp /htdocs/b
ServerName www.b.com
4、 設定
4、設定第3條之後,你會發現訪問localhost直接指向到設定的
4、設定第3條之後,你會發現訪問localhost直接指向到設定的4了在第2條有講。也就是開啟了 vhosts後,預設的 httpd 的設定就會失效了,預設的存取就指向到 vhosts 裡的第一個設定去了。這時候你要把 localhost的目錄配置給設定回來。
DocumentRoot /xampp/htdocs/
ServerName localhost
,來的XAMPP 的幫助指南,造訪 www.a.com 將指向綁定的a 目錄,造訪 www.b.com 將指向綁定的b 目錄。
----------------------------------------------- ---------------------------------
實例參考:
XAMPP新增VirtualHost以支援多個站點
在c:xamppapacheconfextrahttpd-vhosts.conf文件中添加如下內容:
NameVirtualHost *:80
DocumentRoot "E:/php/wordpress"
ServerName wordpress
(這一段必須加入,不然無法訪問)
DocumentRoot "D:/xampp/htdocs/"
ServerName localhost
.1 wordpress
#NameVirtualHost *:80
把去掉#就好了
以上就介紹了XAMPP中配置多個網站,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。