一台服务器可以挂多个网站,那么如何通过不同的域名来访问不同的网站呢? 以前我也不知道应该如何搞,直到前几天我的一个朋友有一个域名 他也想自己弄一个个人博客 但是他没有空间 更没有服务器 就想把他的博客挂在我的服务器上 然后我就上网查了一下资料 终于搞定了如何访问他的域名的时候 访问的是我在服务器指定的文件夹 访问我的域名的时候 访问的是我自己的站点文件夹 我的服务器是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字段不同,所以服务器软件有办法区分具体访问的是哪个网站。
好了 今天就记录到这里。
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论