奇怪的 apache 虚拟主机问题

奇怪的 apache 虚拟主机问题

我在 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.pngsite2/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 的链接

http://httpd.apache.org/docs/2.2/mod/mod_alias.html#alias

答案2

虚拟托管要求您在请求中使用域名。例如:

http://localhost:8080/随便

只是尝试提供默认站点。

您需要将 servername 设置为站点的域名。例如“domain1.com”和“domain2.com”。

您应该将主机文件(用于测试)设置为:

127.0.0.1 domain1.com
127.0.0.1 domain2.com

然后通过浏览器访问每个网站,如下所示:

http://domain1.com/test/file.bmp

http://domain2.com:8080/test/otherfile.bmp

答案3

无论如何...我找到了问题的根源...配置是正确的,问题在于在用于显示目录列表图标的默认配置中的某处定义的别名...该别名与/icons/我使用的目录相同...所以,谜团解决了:)

相关内容