Apache多站点配置

一台服务器可以挂多个网站,那么如何通过不同的域名来访问不同的网站呢? 以前我也不知道应该如何搞,直到前几天我的一个朋友有一个域名 他也想自己弄一个个人博客 但是他没有空间 更没有服务器 就想把他的博客挂在我的服务器上 然后我就上网查了一下资料 终于搞定了如何访问他的域名的时候 访问的是我在服务器指定的文件夹 访问我的域名的时候 访问的是我自己的站点文件夹 我的服务器是win server系统 web服务器用的是Apache(2.4.10 version) 好了 就说到这里 下面看如何配置实现这一功能

1、 打开Apache的配置文件 即httpd.conf文件

找到 Include conf/extra/httpd-vhosts.conf 并将前面的#号给去掉 然后保存 这样就开启了Apache的虚拟主机


2、打开Include conf/extra/httpd-vhosts.conf文件 

删除这个文件所有内容或者不删除也行 直接在改文件的最尾部追加以下配置内容

#这是aaa站点配置

<VirtualHost *:80>

 DocumentRoot "C:\Program Files\server\phpstudy\WWW\aaa_web"

 ServerName www.aaa.com

</VirtualHost>

<Directory "C:\Program Files\server\phpstudy\WWW\aaa_web">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>


#这是zyl站点配置

<VirtualHost *:80>

 DocumentRoot "C:\Program Files\server\phpstudy\WWW\zyl_web"

 ServerName www.zyl.com

</VirtualHost>

<Directory "C:\Program Files\server\phpstudy\WWW\zyl_web">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

</Directory>


配置完成之后保存退出。


注意: www.aaa.com和www.zyl.com 这两个域名的域名解析必须解析到该服务器上

这样我们在浏览器输入www.aaa.com的时候 访问的就是我服务器上的C:\Program Files\server\phpstudy\WWW\aaa_web这个目录的网站

输入www.zyl.com的时候 访问的就是我服务器上的C:\Program Files\server\phpstudy\WWW\zyl_web这个目录的网站


大概解释一下是如何做到这一点的:

浏览器输入www.zyl.com的时候,整个请求会被发送到服务器上,我们打开开发人员工具,选择network 查看www.zyl.com这个请求

其中在Request Headers(请求头信息)有Host字段标识你要请求的网站域名是什么,即使访问的是同一个IP地址,由于Host字段不同,所以服务器软件有办法区分具体访问的是哪个网站。

好了 今天就记录到这里。

 

声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复12人评论7,777人参与