XAMPP虛擬主機(jī)配置,多域名綁定訪問(wèn)本地站點(diǎn)
XAMPP有時(shí)候你需要一些頂級(jí)域名訪問(wèn)方式來(lái)訪問(wèn)你本地的項(xiàng)目也就是虛擬主機(jī)配置,這時(shí)候就需要配置虛擬主機(jī),給你的目錄綁定一個(gè)域名,實(shí)現(xiàn)多域名綁定訪問(wèn)。
在Mac 下一直使用 MAMP 搭建本地 php 環(huán)境,因?yàn)槠鋸?qiáng)大的組合配置以及方便的 UI 操作。因?yàn)楣镜碾娔X是 Windows的,有時(shí)候需要搭建 php 環(huán)境來(lái)調(diào)試一些小東西方便自己工作,因?yàn)橹皇切?yīng)用,所以自己搭建本地的 WAMP 環(huán)境就沒(méi)有必要了,網(wǎng)上的 WAMP環(huán)境集成包還是很多的,什么 PHPNow 啊,WampServer 啊,PHPStudy 啊,AppServ 啊,EasyPHP啊之類(lèi)的我都沒(méi)用過(guò),以及我之前一直在使用的 UniServer,琳瑯滿目啊,看得我眼花繚亂。之所以后來(lái)不用 UniServer的原因其實(shí)我也不知道, UniServer 很強(qiáng)大,值得推薦一下,但是后來(lái)我又轉(zhuǎn)用了 XAMPP ,因?yàn)樗埠軓?qiáng)大,并且文件包達(dá) 100MB還多,當(dāng)然你可以下載 Lite 版本,但是文件大小都比 UniServer 大出好幾倍,可能就是因?yàn)樗拇?,后?lái)我才轉(zhuǎn)用了 XAMPP。
有時(shí)候你需要一些頂級(jí)域名訪問(wèn)方式來(lái)訪問(wèn)你本地的項(xiàng)目文件而不是目錄方式訪問(wèn),這時(shí)候就需要配置虛擬主機(jī),給你的目錄綁定一個(gè)域名(本地的話可以通過(guò)修改 hosts 文件隨便綁定什么域名比如 www.a.com 或者 localdemo)。
現(xiàn)在假定你有兩個(gè)目錄,一個(gè)存在于 /xampp/htdocs/a,另一個(gè)存在于 /xampp/htdocs/b 。
現(xiàn)在你想要在本地測(cè)試的時(shí)候訪問(wèn) www.a.com 對(duì)應(yīng)的目錄是 /xampp/htdocs/a ,訪問(wèn) www.b.com 對(duì)應(yīng)的目錄是 /xampp/htdocs/b 。
懂得 Apache配置的其實(shí)就可以繞開(kāi)了,因?yàn)?XAMPP 無(wú)非就是集成了 APache 之類(lèi)的環(huán)境集成包,實(shí)現(xiàn)多域名也就是通過(guò)配置 Apache 實(shí)現(xiàn)的。
當(dāng)然網(wǎng)上搜索到的方法很多,但是網(wǎng)上的信息都是轉(zhuǎn)載來(lái)轉(zhuǎn)載去的,有的方法我懷疑是否驗(yàn)證過(guò)是否正確都不知道。以下的方法是我親測(cè)的,如果你按照我的配置還是無(wú)法實(shí)現(xiàn)本地多域名調(diào)試的話,可能是因?yàn)槟愕?XAMPP 的版本和我的不一致造成的。你可以在下面評(píng)論告知我,我會(huì)給你一一解答。以下配置針對(duì)的是XAMPP Windows 1.7.1 版本。
1、首先修改C盤(pán)WINDOWS\system32\drivers\etc目錄下的 hosts 文件,用記事本打開(kāi),加入:
(是在文件的未尾加入)
127.0.0.1 www.a.com
127.0.0.1 www.b.com
2、打開(kāi)xampp\apache\conf\httpd.conf文件,搜索 “Include conf/extra/httpd-vhosts.conf”,確保前面沒(méi)有 # 注釋符,也就是確保引入了 vhosts 虛擬主機(jī)配置文件。
開(kāi)啟了httpd-vhosts.conf,默認(rèn)的httpd.conf默認(rèn)配置失效(確保 httpd-vhosts.conf 文件里也開(kāi)啟了虛擬主機(jī)配置,見(jiàn)第3條),訪問(wèn)此IP的域名將全部指向 vhosts.conf 中的第一個(gè)虛擬主機(jī)。(注意是第一個(gè),詳見(jiàn)第4)
3、在虛擬主機(jī)設(shè)置文件xampp\apache\conf\extra\httpd-vhosts.conf里設(shè)置:
取消 NameVirtualHost *:80 前面的 ##,這樣就啟用了 vhosts.conf ,默認(rèn)的httpd.conf默認(rèn)配置失效。虛擬主機(jī)配置將只設(shè)置在 httpd-vhosts.conf 里。
DocumentRoot /xampp/htdocs/a
ServerName www.a.com
DocumentRoot /xampp/htdocs/b
ServerName www.b.com
4、設(shè)置完了第3條之后,你會(huì)發(fā)現(xiàn)訪問(wèn) localhost直接指向到設(shè)置的 a 那個(gè)路徑去了,這個(gè)問(wèn)題在第2條有講。也就是開(kāi)啟了 vhosts后,默認(rèn)的 httpd 的配置就會(huì)失效了,默認(rèn)的訪問(wèn)就指向到 vhosts 里的第一條設(shè)置去了。這時(shí)候你要把 localhost的目錄配置給設(shè)置回來(lái)。
DocumentRoot /xampp/htdocs/
ServerName localhost
至此,XAMPP 的虛擬主機(jī)設(shè)置完畢,現(xiàn)在 訪問(wèn) localhost 還是原來(lái)的 XAMPP 的幫助指南,訪問(wèn) www.a.com 將指向到綁定的 a 目錄,訪問(wèn) www.b.com 將指向到綁定的 b 目錄。
——————————————————————————–
實(shí)例參考:
XAMPP添加VirtualHost以支持多個(gè)站點(diǎn)
在c:\xampp\apache\conf\extra\httpd-vhosts.conf文件中添加如下內(nèi)容:
NameVirtualHost *:80
DocumentRoot “D:/xampp/htdocs/joomla”
ServerName www.joomla.com
(這一段必須加入,不然無(wú)法訪問(wèn))
<Directory “D:/xampp/htdocs/joomla”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
(這一段將localhost默認(rèn)訪問(wèn)設(shè)置回來(lái),將必須放在后面)
DocumentRoot “D:/xampp/htdocs/”
ServerName localhost
在C:\WINDOWS\system32\drivers\etc目錄下的hosts文件中添加如下內(nèi)容:
127.0.0.1 www.joomla.com
把文件httpd-vhosts.conf里:
#NameVirtualHost *:80
把去掉#就好
轉(zhuǎn)載請(qǐng)注明:XAMPP中文組官網(wǎng) ? XAMPP多站點(diǎn)平臺(tái)搭建
聯(lián)系客服