在httpd.conf里,
1、把#NameVirtualHost *:80前的注释去掉
2、ServerName 127.0.0.1 修改成ServerName 72.167.11.30
3、#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"
简单的添加:
<VirtualHost 72.167.11.30> DocumentRoot usr/local/www/ ServerName 72.167.11.30 </VirtualHost> <VirtualHost 72.167.11.30> DocumentRoot usr/local/www/minidx.com/ ServerName minidx.com </VirtualHost> <VirtualHost 72.167.11.30> DocumentRoot usr/local/www/ntt.cc/ ServerName ntt.cc </VirtualHost>
第二种情况:
1、首先修改C:/WINDOWS\system32\drivers\etc目录下的 hosts 文件,用Notepad++ 或记事本打开,加入:
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 目录。
出现“apache You don't have permission to access the requested directory.”的提示
将
<Directory />
AllowOverride none
Require all denied
</Directory>
修改为
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
第三种情况:
--------------------------------------------------------------------------------
实例参考:
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>
不过可以将上面两段合在一起
<VirtualHost *:80>
DocumentRoot "E:/php/wordpress"
ServerName wordpress
<Directory "E:/php/wordpress">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
(这一段将localhost默认访问设置回来,将必须放在后面)
<VirtualHost *:80>
DocumentRoot "D:/xampp/htdocs/"
ServerName localhost
</VirtualHost>
在C:\WINDOWS\system32\drivers\etc目录下的hosts文件中添加如下内容:
127.0.0.1 wordpress
完成。