首页 > 代码库 > Apache多站点的配置

Apache多站点的配置

Apache中配置多主机多站点,可以通过两种方式实现:

  • 将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点;
  • 将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

我们只需要修改相应的配置文件即可。

1、修改系统 hosts文件

hosts文件的路径是:C:/Windows/System32/drivers/etc/hosts,在这个文件中我们加入如下两行代码:

  1. 127.0.0.1 www.test.com
  2. 127.0.0.1 www.china.com
  3. 这两行代码的意思是将www.test.com和www.china.com映射到本机的ip地址上。

2、具体实现

 

两种不同的实现方案

1、修改Apache的httpd.conf文件

1)注释默认的访问路径

在httpd.conf文件中找到如下代码:
#Include conf/extra/httpd-vhosts.conf
去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。

2、修改Apache的httpd-vhosts.conf文件

我们说到的方案一和方案二,只是在配置httpd-vhosts.conf文件的时候有所不同。

方案一

将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

在httpd-vhosts.conf文件中添加如下代码:

#第一个站点的配置

<VirtualHost*:80>

   ServerName www.test.com

    DocumentRoot "F:/http/www/"

         DirectoryIndex news.html index.htmlindex.htm index.php

    <Directory "F:/http/www/">

                   #允许或禁止显示该虚拟目录的目录结构,-Indexes(去掉Indexes)表示禁止

                  OptionsIndexes FollowSymLinks

                   #先检查禁止设定,没有禁止的全部允许

                   Order Deny,Allow

                   #允许所有人访问

                   Allow from all

                   #允许设置分布式目录权限(.htaccess

                   AllowOverride all

    </Directory>

</VirtualHost>

 

#第二个站点的配置

<VirtualHost*:80>

    ServerName www.china.com

    DocumentRoot "F:/http/www/new400"

    <Directory"F:/http/www/new400">

                   Options IndexesFollowSymLinks

                   Order Deny,Allow

                   Allow from all

                   #允许设置分布式目录权限(.htaccess

                   AllowOverride all

    </Directory>

</VirtualHost>

 

#局域网通过内部IP地址来访问我这台电脑里面的本地php网站

<VirtualHost172.168.19.172>

    ServerName 172.168.19.172

    DocumentRoot"F:/http/www/china400"

</VirtualHost>

 

重启Apache,就可以通过设置的域名访问了。

 

方案二、

将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点

第一步:

在httpd.conf文件中找到如下代码:
Listen 80
增加:Listen 8080

 

在httpd-vhosts.conf文件中添加如下代码:

#第三个站点的配置

<VirtualHost*:80>

    ServerName www.php23.com

    DocumentRoot"F:/http/www/china400"

    <Directory"F:/http/www/china400">

                   Options IndexesFollowSymLinks

                   Order Deny,Allow

                   Allow from all

                   AllowOverride all

    </Directory>

</VirtualHost>

 

#第四个站点的配置

<VirtualHost*:8080>

    ServerName www.php23.com

    DocumentRoot "F:/http/www/06news"

    <Directory"F:/http/www/06news">

                   Options IndexesFollowSymLinks

                   Order Deny,Allow

                   Allow from all

                   AllowOverride all

    </Directory>

</VirtualHost>

 

重启Apache,就可以通过设置的域名访问了。

 

Apache多站点的配置