程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 【轉】XAMPP中配置多個網站,xampp配置多個

【轉】XAMPP中配置多個網站,xampp配置多個

編輯:關於PHP編程

【轉】XAMPP中配置多個網站,xampp配置多個


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盤WINDOWS\system32\drivers\etc目錄下的 hosts 文件,用記事本打開,加入:

(是在文件的未尾加入)
127.0.0.1 www.a.com
127.0.0.1 www.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、在虛擬主機設置文件xampp\apache\conf\extra\httpd-vhosts.conf裡設置:
取消 NameVirtualHost *:80 前面的 ##,這樣就啟用了 vhosts.conf ,默認的httpd.conf默認配置失效。虛擬主機配置將只設置在 httpd-vhosts.conf 裡。
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/a
ServerName www.a.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /xampp/htdocs/b
ServerName www.b.com
</VirtualHost>

4、 設置完了第3條之後,你會發現訪問 localhost直接指向到設置的 a 那個路徑去了,這個問題在第2條有講。也就是開啟了 vhosts後,默認的 httpd 的配置就會失效了,默認的訪問就指向到 vhosts 裡的第一條設置去了。這時候你要把 localhost的目錄配置給設置回來。
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/
ServerName localhost
</VirtualHost>

至此,XAMPP 的虛擬主機設置完畢,現在 訪問 localhost 還是原來的 XAMPP 的幫助指南,訪問 www.a.com 將指向到綁定的 a 目錄,訪問 www.b.com 將指向到綁定的 b 目錄。

--------------------------------------------------------------------------------

實例參考:
XAMPP添加VirtualHost以支持多個站點
在c:\xampp\apache\conf\extra\httpd-vhosts.conf文件中添加如下內容:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "E:/php/wordpress"
ServerName wordpress
</VirtualHost>

(這一段必須加入,不然無法訪問)
<Directory "E:/php/wordpress">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

 

(這一段將localhost默認訪問設置回來,將必須放在後面)
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/"
ServerName localhost
</VirtualHost>

在C:\WINDOWS\system32\drivers\etc目錄下的hosts文件中添加如下內容:

127.0.0.1 wordpress

把文件httpd-vhosts.conf裡: 
#NameVirtualHost *:80 

把去掉#就好了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved