创建两个虚拟主机时出现问题

创建两个虚拟主机时出现问题

你好,我正在尝试为我的 PHP 网站创建虚拟主机。我使用以下代码编辑了 httpd-vhosts.conf

<VirtualHost *:80>  
 DocumentRoot C:/xampp/htdocs/logo
 ServerName localhost
 </VirtualHost>

<VirtualHost *:80>  
 DocumentRoot C:/xampp/htdocs/new
 ServerName local
 </VirtualHost>

和主机文件

127.0.0.1       local
127.0.0.1       localhost

现在,徽标项目可以访问,但新项目却不能。

答案1

当你写的时候,<VirtualHost *:80>你是在告诉 Apache 监听任何无论 ServerName 如何,IP 地址都是如此。

您要做的是将 ServerName 替换为*,如下所示:

<VirtualHost localhost:80>  
 DocumentRoot C:/xampp/htdocs/logo
 ServerName localhost
 </VirtualHost>

<VirtualHost local:80>  
 DocumentRoot C:/xampp/htdocs/new
 ServerName local
 </VirtualHost>

这是因为 ServerName 位于 HTTP 标头中。

答案2

NameVirtualHost localhost
<VirtualHost localhost>  
 DocumentRoot C:/xampp/htdocs/logo
 ServerName localhost
</VirtualHost>

NameVirtualHost local
<VirtualHost local>  
 DocumentRoot C:/xampp/htdocs/new
 ServerName local
</VirtualHost>

我会尝试这个。

答案3

我认为您不能使用 local 作为虚拟名称,请尝试使用类似 local.de 或 dev.de 之类的名称,我不知道,但至少其中有一个点。

我认为唯一的例外是本地主机。

当你更改配置文件时,不要忘记重新启动 apache 服务器

编辑:

<VirtualHost *:80>  
 DocumentRoot C:/xampp/htdocs/logo
 ServerName localhost
 ServerAlias localhost
 </VirtualHost>

<VirtualHost *:80>  
 DocumentRoot C:/xampp/htdocs/new
 ServerName dev.com
 ServerAlias dev.com
 </VirtualHost>

试试这个,这是我的使用方法

相关内容