![创建两个虚拟主机时出现问题](https://linux22.com/image/543970/%E5%88%9B%E5%BB%BA%E4%B8%A4%E4%B8%AA%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
你好,我正在尝试为我的 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>
试试这个,这是我的使用方法