使用XAMPP 1.7.3倍增vHosts

时间:2014-10-24 11:42:21

标签: apache xampp php-5.3 vhosts

我正在尝试在我的网络上的计算机上配置多个虚拟主机,但是,无论我使用什么来访问servername,apacche总是指向第一个主机。

这是我的vHosts文件

<VirtualHost eurekahom:7777>
    DocumentRoot "d:\vhosts\eurekahom\controller/"
    ServerName eurekahom

 #   RewriteEngine On
 #   RewriteOptions Inherit

    <Directory />
        AllowOverride All    
    </Directory> 

    php_value include_path ".;d:\vhosts\eurekahom\controller\includes/"
</VirtualHost>


<VirtualHost eurekades:7777>
    DocumentRoot "d:\vhosts\eurekades\controller/"
    ServerName eurekades

    <Directory />
        AllowOverride All    
    </Directory>

    php_value include_path ".;d:\vhosts\eurekades\controller\includes/"
</VirtualHost>

<VirtualHost mauricio:7777>
    DocumentRoot "d:\htdocs\mauricio" 
    #\controller/"
    ServerName mauricio

 #   RewriteEngine On
 #   RewriteOptions Inherit

    <Directory />
        AllowOverride All    
    </Directory> 

    php_value include_path ".;d:\htdocs\mauricio"
</VirtualHost>

有谁知道发生了什么事?

2 个答案:

答案 0 :(得分:1)

我相信虚拟主机有基于IP的匹配和服务器名称匹配。所以无论你在这里输入什么:<VirtualHost ________:7777>都应该是一个IP地址。由于您不希望通过IP进行匹配,因此您只需保留*:7777

是的,您的所有陈述都将以<VirtualHost *:7777>开头。当请求来自该7777端口时,Apache将尝试按服务器名称进行匹配,然后将考虑ServerName参数。

<Directory>语句可能还有更多问题,但我认为这并不是导致Apache始终始终使用第一个VirtualHost的原因。

以下链接非常有用,因为当我遇到一个非常类似的问题时,它帮助了我: https://wiki.apache.org/httpd/CommonMisconfigurations

答案 1 :(得分:0)

我通常不会在VirtualDirectory元素中指定主机名,而是将其保留在*:7777

此外,对于htdocs文件夹之外的目录,我使用其他目录选项:

<Directory "C:\Projects\spacelysprockets">
    Options All
    AllowOverride All
    Require all granted
</Directory>