谁能解释为什么我在Apache中的虚拟主机设置失败了?

时间:2015-03-13 18:44:18

标签: apache config virtualhost httpd.conf

我在Cygwin下有一个Apache2配置,我正在为它设置一些虚拟主机。我遇到的问题是,无论输入的地址如何,它们似乎都指向同一个目录 - 恰好是这些虚拟主机之一。

我的httpd-vhosts.conf如下(评论已删除):

NameVirtualHost *:80

<VirtualHost sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/sg.agpvideo.com"
    ServerName sg.agpvideo.com
</VirtualHost>

<VirtualHost rest.sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/rest.agpvideo.com/laravel/public"
    ServerName rest.sg.agpvideo.com
</VirtualHost>

<VirtualHost site1.sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/site1.sg.agpvideo.com"
    ServerName site1.sg.agpvideo.com
</VirtualHost>

<VirtualHost site2.sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/site2.sg.agpvideo.com"
    ServerName site2.sg.agpvideo.com
</VirtualHost>

<VirtualHost agency1.sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/agency1.sg.agpvideo.com"
    ServerName agency1.sg.agpvideo.com
</VirtualHost>

<VirtualHost agency2.sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/agency2.sg.agpvideo.com"
    ServerName agency2.sg.agpvideo.com
</VirtualHost>

似乎所有人都指向列表中的第一个(sg.agpvideo.com)。有没有人有一个简单的解释?如果我的httpd.conf是必要的,我可以发布它。

编辑:在试图让它工作的辛苦工作中,其中几个指向实际服务器的文档根...奇怪的是。

1 个答案:

答案 0 :(得分:1)

我不确定这是否能彻底解决您的问题,但它可能会让您足够清楚。我的设置(适用于我的本地Windows机器)如下。对于每个子域,请尝试将其替换为:

<VirtualHost sg.agpvideo.com:80>
    DocumentRoot "/home/user/public_html/sg.agpvideo.com"
    ServerName sg.agpvideo.com
</VirtualHost>

在httpd.conf文件中使用

<VirtualHost *:80>
  ServerName  sg.agpvideo.com
  DocumentRoot "C:/xampp/htdocs/(whatever your project folder's name is)"
  <Directory "C:/xampp/htdocs/(whatever your project folder's name is)">
    Options All
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

然后,在Windows文件夹中的“主机”TCP / IP文件中添加一个条目(我的是'C:\ Windows \ System32 \ drivers \ etc \ hosts'),添加:

127.0.0.1 sg.agpvideo.com rest.sg.agpvideo.com site1.sg.agpvideo.com (and so on)

如果您需要有关生产服务器设置的帮助,请告诉我,我也可以为您提供该设置。