总结如下:
问题:如何让一个 IP 和多个域名(虚拟主机)绑定呢?
方案一:通过端口来区分不同的虚拟主机(站点)
1- 按照绑定一个站点的方法做好准备(此处参考前面的第三棒):
(1)开发好网站 d:/myblog;
(2)配置 httpd.conf 文件,启用 httpd-vhosts.conf;
(3)配置 http-vhosts.conf;
(4)在 C:\Windows\System32\drivers\etc\hosts 文件(实际应用中应是 DNS)中添加 IP 和域名的对应关系。
(5)推荐注销 document Root。查找C:\myenv\apache\conf\httpd.conf,加“#”于:
#DocumentRoot “C:/myenv/apache/htdocs”。
(6)重启 apahche ,使用指定域名访问测试2- 添加一个新的域名于该 IP 绑定
(1)开发新的网站 d:/myblog2;
(2)配置 http-vhosts.conf,添加新的虚拟主机。
此处改变端口,加入以下代码:
#再次加入如下代码:在第一个域名使用 80 端口,此处使用 81.注意修改路径 <VirtualHost 127.0.0.1:81> DocumentRoot "d:/myblog2"
3- 修改 httpd.conf 文件,让 Apache 同时监听 81 端口(一个 Apache 可监听多个端口),添加如下代码:
Listen 81;
4- 在 hosts 文件中添加新的域名,如下:
127.0.0.1 localhost 127.0.0.1 www.jingjing1.com 127.0.0.1 www.jingjing2.com
5- 重启 Apache ,测试时需添加端口号,如:http://www.jingjing1.com:80/ http://www.jingjing2.com:81/
方案二:通过 ServerName 端来区分不同的域名
1- 开发新站点 d:/myblog2。
2- 在 http-vhosts.conf 文件中添加配置(注意:此时的配置和以前不一样!!!), 将
<VirtualHost 127.0.0.1:80> DocumentRoot "d:/myblog"改为:
<VirtualHost *:80> DocumentRoot "d:/myblog" #这里指定域名 ServerName www.jingjing1.com DirectoryIndex news.html index.html index.htm index.php <Directory /> …… </Directory> </VirtualHost> <pre name="code" class="html"><VirtualHost *:80> DocumentRoot "d:/myblog2" #这里指定域名 ServerName www.jingjing2.com DirectoryIndex news.html index.html index.htm index.php <Directory /> …… </Directory> </VirtualHost>3- 域名和 IP 仍要绑定;
4- 测试。