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