0

我正在配置我的 apache 服务器。在 httpd.conf 中,我将 DocumentRoot 设置如下:

DocumentRoot "D:/phpwwwroot"

我将目录节点设置如下:

<Directory "D:/phpwwwroot">
    Options Indexes FollowSymLinks
    AllowOverride All
   Order allow,deny
    Allow from all
</Directory>

目前,我还没有启用虚拟主机。我访问了 url: http://localhost:8080/,一切正常。

接下来,我尝试设置虚拟主机。我取消了虚拟主机的注释。如下:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

我的 httpd-vhosts.conf 如下:

NameVirtualHost *:8080

<VirtualHost *:8080>
    ServerName www.testphp1.com
    DocumentRoot "D:\VirtualRoot"
    DirectoryIndex index.shtml index.html index.htm index.php  
    <Directory "D:\VirtualRoot">  
        Options Indexes FollowSymLinks 
        AllowOverride all  
        Order allow,deny  
        Allow from all  
    </Directory>  
</VirtualHost>

<VirtualHost *:8080>
    ServerName www.testphp2.com
    DocumentRoot "D:\VirtualRoot1"
    DirectoryIndex index.shtml index.html index.htm index.php  
    <Directory "D:\VirtualRoot1">  
        Options Indexes FollowSymLinks 
        AllowOverride all  
        Order allow,deny  
        Allow from all  
    </Directory>  
</VirtualHost>

而且我还编辑了主机文件以更正映射,您应该知道我的意思:

127.0.0.1 www.testphp1.com
127.0.0.1 www.testphp2.com

接下来重启apache服务器,访问以下网址:

http://www.testphp1.com:8080/
http://www.testphp2.com:8080/

一切都好。它们被映射到正确的文件夹。

提出了一个新问题,当我尝试访问时http://localhost:8080/,它来到了第一个虚拟主机--www.testphp1.com。我的意思是页面显示了www.testphp1.com显示的内容。

似乎“主要主机”不起作用。

它是如何发生的?如何修复它

4

2 回答 2

0

使用 IP 访问服务器时也是如此。它将显示使用此 IP 的第一个活动网站(localhost在此处被视为 IP)。您可以通过首先定义主网站来修复它。

于 2013-09-04T06:26:42.930 回答
0

您还需要添加主主机,例如:

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "D:/phpwwwroot"

</VirtualHost>
于 2013-09-04T06:26:54.320 回答