我在Windows 10上使用apache 2.4进行了xampp。 我在我的C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf中有这个配置
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
ServerAlias www.localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/site3/web"
ServerName site3.localhost
ServerAlias www.site3.localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/site2/web"
ServerName site2.localhost
ServerAlias www.site2.localhost
</VirtualHost>
我在我的主机文件中添加了:
127.0.0.1 site2.localhost
127.0.0.1 site3.localhost
127.0.0.1 www.site2.localhost
127.0.0.1 www.site3.localhost
当我浏览http://site2.localhost时,我会看到xampp root index。 当我浏览http://site3.localhost时,我再次看到xampp root index.Same with www.site2.localhost ...
我做错了什么?
答案 0 :(得分:0)
有关虚拟主机的快速信息。如果您设置了一个,当您尝试使用它时,它会将您发送到第一个虚拟主机,通常localhost
这意味着虚拟主机定义或HOSTS文件有问题,或者您输入的网址不正确
Apache将使用文件中定义的第一个VH作为默认站点。
首先从HOSTS文件中删除这两行
127.0.0.1 www.site2.localhost
127.0.0.1 www.site3.localhost
HOSTS文件应如下所示
127.0.0.1 localhost
127.0.0.1 site2.localhost
127.0.0.1 site3.localhost
::1 localhost
::1 site2.localhost
::1 site3.localhost
现在每个虚拟主机定义还应包含一些此类访问权限
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/site3/web"
ServerName site3.localhost
ServerAlias www.site3.localhost
<Directory "C:/xampp/htdocs/site3/web/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/site2/web"
ServerName site2.localhost
ServerAlias www.site2.localhost
<Directory "C:/xampp/htdocs/site2/web/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>