Apache多站点的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.html index.htm index.php

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

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

                  Options Indexes 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 Indexes FollowSymLinks

                   Order Deny,Allow

                   Allow from all

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

                   AllowOverride all

    </Directory>

</VirtualHost>

 

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

<VirtualHost 172.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 Indexes FollowSymLinks

                   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 Indexes FollowSymLinks

                   Order Deny,Allow

                   Allow from all

                   AllowOverride all

    </Directory>

</VirtualHost>

 

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

 

以上是关于Apache多站点的配置的主要内容,如果未能解决你的问题,请参考以下文章

apache 多站点配置

apache多站点配置+多端口配置

apache 多站点j简单配置

apache的配置和多站点配置

多站点虚拟主机配置

Apache 多端口多站点配置