XAMPP虛擬主機配置飞盆,多域名綁定訪問本地站點
XAMPP有時候你需要一些頂級域名訪問方式來訪問你本地的項目也就是虛擬主機配置,這時候就需要配置虛擬主機默辨,給你的目錄綁定一個域名妆丘,實現(xiàn)多域名綁定訪問兢孝。
在Mac 下一直使用 MAMP 搭建本地 php 環(huán)境,因為其強大的組合配置以及方便的 UI 操作睬捶。因為公司的電腦是 Windows的黔宛,有時候需要搭建 php 環(huán)境來調(diào)試一些小東西方便自己工作,因為只是小應(yīng)用擒贸,所以自己搭建本地的 WAMP 環(huán)境就沒有必要了臀晃,網(wǎng)上的 WAMP環(huán)境集成包還是很多的,什么 PHPNow 啊介劫,WampServer 啊徽惋,PHPStudy 啊,AppServ 啊蜕猫,EasyPHP啊之類的我都沒用過寂曹,以及我之前一直在使用的 UniServer,琳瑯滿目啊回右,看得我眼花繚亂隆圆。之所以后來不用 UniServer的原因其實我也不知道, UniServer 很強大翔烁,值得推薦一下渺氧,但是后來我又轉(zhuǎn)用了 XAMPP ,因為它也很強大蹬屹,并且文件包達 100MB還多侣背,當(dāng)然你可以下載 Lite 版本,但是文件大小都比 UniServer 大出好幾倍慨默,可能就是因為它的大贩耐,后來我才轉(zhuǎn)用了 XAMPP。
有時候你需要一些頂級域名訪問方式來訪問你本地的項目文件而不是目錄方式訪問厦取,這時候就需要配置虛擬主機潮太,給你的目錄綁定一個域名(本地的話可以通過修改 hosts 文件隨便綁定什么域名比如www.a.com或者 localdemo)。
現(xiàn)在假定你有兩個目錄,一個存在于 /xampp/htdocs/a铡买,另一個存在于 /xampp/htdocs/b 更鲁。
現(xiàn)在你想要在本地測試的時候訪問www.a.com對應(yīng)的目錄是 /xampp/htdocs/a ,訪問www.b.com對應(yīng)的目錄是 /xampp/htdocs/b 。
懂得 Apache配置的其實就可以繞開了奇钞,因為 XAMPP 無非就是集成了 APache 之類的環(huán)境集成包澡为,實現(xiàn)多域名也就是通過配置 Apache 實現(xiàn)的。
當(dāng) 然網(wǎng)上搜索到的方法很多景埃,但是網(wǎng)上的信息都是轉(zhuǎn)載來轉(zhuǎn)載去的媒至,有的方法我懷疑是否驗證過是否正確都不知道。以下的方法是我親測的纠亚,如果你按照我的配置還是 無法實現(xiàn)本地多域名調(diào)試的話塘慕,可能是因為你的 XAMPP 的版本和我的不一致造成的。你可以在下面評論告知我蒂胞,我會給你一一解答图呢。以下配置針對的是XAMPP Windows 1.7.1 版本。
1骗随、首先修改C盤WINDOWS\system32\drivers\etc目錄下的 hosts 文件蛤织,用記事本打開,加入:
(是在文件的未尾加入)
127.0.0.1www.a.com
127.0.0.1www.b.com
2鸿染、打開xampp\apache\conf\httpd.conf文件指蚜,搜索 “Include conf/extra/httpd-vhosts.conf”,確保前面沒有 # 注釋符涨椒,也就是確保引入了 vhosts 虛擬主機配置文件摊鸡。
開啟了httpd-vhosts.conf,默認的httpd.conf默認配置失效(確保 httpd-vhosts.conf 文件里也開啟了虛擬主機配置蚕冬,見第3條)免猾,訪問此IP的域名將全部指向 vhosts.conf 中的第一個虛擬主機。(注意是第一個囤热,詳見第4)
3猎提、在虛擬主機設(shè)置文件xampp\apache\conf\extra\httpd-vhosts.conf里設(shè)置:
取消 NameVirtualHost *:80 前面的 ##,這樣就啟用了 vhosts.conf 旁蔼,默認的httpd.conf默認配置失效锨苏。虛擬主機配置將只設(shè)置在 httpd-vhosts.conf 里。
DocumentRoot /xampp/htdocs/a
ServerNamewww.a.com
DocumentRoot /xampp/htdocs/b
ServerNamewww.b.com
4棺聊、 設(shè)置完了第3條之后伞租,你會發(fā)現(xiàn)訪問 localhost直接指向到設(shè)置的 a 那個路徑去了,這個問題在第2條有講限佩。也就是開啟了 vhosts后葵诈,默認的 httpd 的配置就會失效了,默認的訪問就指向到 vhosts 里的第一條設(shè)置去了。這時候你要把 localhost的目錄配置給設(shè)置回來驯击。
DocumentRoot /xampp/htdocs/
ServerName localhost
至此,XAMPP 的虛擬主機設(shè)置完畢耐亏,現(xiàn)在 訪問 localhost 還是原來的 XAMPP 的幫助指南徊都,訪問www.a.com將指向到綁定的 a 目錄,訪問www.b.com將指向到綁定的 b 目錄广辰。
--------------------------------------------------------------------------------
實例參考:
XAMPP添加VirtualHost以支持多個站點
在c:\xampp\apache\conf\extra\httpd-vhosts.conf文件中添加如下內(nèi)容:
NameVirtualHost *:80
DocumentRoot "E:/php/wordpress"
ServerName wordpress
(這一段必須加入暇矫,不然無法訪問)
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
(這一段將localhost默認訪問設(shè)置回來,將必須放在后面)
DocumentRoot "D:/xampp/htdocs/"
ServerName localhost
在C:\WINDOWS\system32\drivers\etc目錄下的hosts文件中添加如下內(nèi)容:
127.0.0.1 wordpress
把文件httpd-vhosts.conf里:
#NameVirtualHost *:80
把去掉#就好了