我在 Windows 上使用 XAMPP,并尝试在 8080 端口上设置虚拟站点。我使用以下配置:
Listen 80
Listen 8080
NameVirtualHost *:80
NameVirtualHost *:8080
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/xampp/htdocs/site2/"
ServerName localhost
</VirtualHost>
在 site2 中我有文件...
site2/img/profile_pic.png
和site2/icons/led/map.png
我可以使用浏览器打开第一个,http://localhost:8080/img/profile_pic.png
但当我尝试打开第二个时,它返回 404 ( http://localhost:8080/icons/led/map.png
)
有趣的是,当我输入http://localhost:8080/icons
它时,列出文件夹c:\xampp\apache\icons
这里发生了什么事?
答案1
搜索 httpd.conf 配置文件,您可能会找到一个默认指令,定义指向 c:\xampp\apache\icons 的链接
答案2
虚拟托管要求您在请求中使用域名。例如:
只是尝试提供默认站点。
您需要将 servername 设置为站点的域名。例如“domain1.com”和“domain2.com”。
您应该将主机文件(用于测试)设置为:
127.0.0.1 domain1.com
127.0.0.1 domain2.com
然后通过浏览器访问每个网站,如下所示:
答案3
无论如何...我找到了问题的根源...配置是正确的,问题在于在用于显示目录列表图标的默认配置中的某处定义的别名...该别名与/icons/
我使用的目录相同...所以,谜团解决了:)