我对 Apache 2.4 的 VirtualHosts 有疑问。
如果我导航到 ty1.dev,我会转到 af2.dev 的网站
如果这是 Apache 2.2,我需要添加的就是NameVirtualHost *:80
但在 2.4 中被忽略。
error.log 没有报告任何问题
我错过了什么?
# httpd-vhosts.conf
<VirtualHost *:80>
ServerName af2.dev
ServerAlias af2.dev
ServerAdmin [email protected]
DocumentRoot "c:/Users/Adam.Adam-PC/Sites/af2/web"
<Directory c:/Users/Adam.Adam-PC/Sites/af2/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName ty1.dev
ServerAlias ty1.dev
ServerAdmin [email protected]
DocumentRoot "c:/Users/Adam.Adam-PC/Sites/ty1"
<Directory c:/Users/Adam.Adam-PC/Sites/ty1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
答案1
尝试将特定的 IP 和端口放入 listen 语句以及虚拟主机块中。因此输入:
listen 127.0.0.1:80
在每个虚拟主机中:
<virtualhost 127.0.0.1:80>
答案2
0 反对票
我从这里找到答案:http://alexking.org/blog/2007/11/01/apache-2-only-serves-first-virtual-host
将 2 个服务器名称放在同一个 VirtualHost 标签中,如下所示:
<VirtualHost *:80>
ServerName beta-site-1.com
DocumentRoot “/Library/WebServer/beta-site-1”
ServerName beta-site-2.com
DocumentRoot “/Library/WebServer/beta-site-2”
</VirtualHost>
由于我有两个 VirtualHost 标签块,因此我最终在第二个网站上遇到了问题。