http://blog.csdn.net/nailwl/article/details/7343426
http://blog.csdn.net/yh880610/article/details/7049487
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 中的第一個虛擬主機。
3、在虛擬主機設置文件xampp\apache\conf\extra\httpd-vhosts.conf里設置:
取消 NameVirtualHost *:80 前面的 ##,這樣就啟用了 vhosts.conf ,默認的httpd.conf默認配置失效。虛擬主機配置將只設置在 httpd-vhosts.conf 里。
修改配置文件:httpd-vhosts.conf,添加如下內容:
Include "conf/extra/vhostlist/www.a.com.conf"
X:\xampp\apache\conf\extra\vhostlist文件夾中新建www.a.com.conf文件,內容如下:
<VirtualHost *:80>
ServerAdmin wulei@jingcheng.cn
DocumentRoot "/xampp/htdocs/a"
ServerName www.a.com
</VirtualHost>
<Directory "/xampp/htdocs/a">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
或者:直接添加<VirtualHost *:80> ServerAdmin postmaster@abc.tld DocumentRoot "/xampp/htdocs/www.abc.tld" ServerName www.abc.tld ErrorLog "logs/www.abc.tld-error.log" CustomLog "logs/www.abc.tld-access.log" combined </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@xyz.tld DocumentRoot "/xampp/htdocs/www.xyz.tld" ServerName www.xyz.tld ErrorLog "logs/www.xyz.tld-error.log" CustomLog "logs/www.xyz.tld-access.log" combined </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目錄。