我在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是必要的,我可以发布它。
编辑:在试图让它工作的辛苦工作中,其中几个指向实际服务器的文档根...奇怪的是。
答案 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)
如果您需要有关生产服务器设置的帮助,请告诉我,我也可以为您提供该设置。