apache绑定多个域名

在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:/WINDOWSsystem32driversetc目录下的 hosts 文件,用Notepad++ 或记事本打开,加入:

127.0.0.1 www.a.com

127.0.0.1 www.b.com

 

2、打开xamppapacheconfhttpd.conf文件,搜索 “Include conf/extra/httpd-vhosts.conf”,确保前面没有 # 注释符,也就是确保引入了 vhosts 虚拟主机配置文件

开启了httpd-vhosts.conf,默认的httpd.conf默认配置失效(确保 httpd-vhosts.conf 文件里也开启了虚拟主机配置,见第3条),访问此IP的域名将全部指向 vhosts.conf 中的第一个虚拟主机。(注意是第一个,详见第4)

 

3、在虚拟主机设置文件xamppapacheconfextrahttpd-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:xamppapacheconfextrahttpd-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:WINDOWSsystem32driversetc目录下的hosts文件中添加如下内容:

127.0.0.1 wordpress

完成。

原文地址:https://www.cnblogs.com/zl0372/p/apache_2.html