gpt4 book ai didi

apache - 为什么http ://localhost redirect to my default virtual host once I setup virtual hosts in Apache?

转载 作者:可可西里 更新时间:2023-11-01 15:15:08 26 4
gpt4 key购买 nike

这可能是一个简单的问题,但我想更好地理解 Apache 如何与虚拟主机一起工作。我正在设置虚拟主机,因为我同时在多个网站上工作并且不想使用子目录。我几乎使用默认的 Apache httpd.conf 文件,DocumentRoot 指向类似“/www”的内容。我取消注释虚拟主机包括并添加以下内容:

NameVirtualHost *:80<VirtualHost *:80>    ServerName site1.dev    DocumentRoot /www/site1</VirtualHost><VirtualHost *:80>    ServerName site2.dev    DocumentRoot /www/site2</VirtualHost>

现在当我去http://localhost我得到了 site1 的默认页面。

我确信这是有道理的,但我不太明白。我本以为只有明确针对 http://site1.test 的请求会通过该指令进行路由,它不会只是成为默认值。有人可以解释为什么它成为默认值。

最佳答案

http://httpd.apache.org/docs/1.3/vhosts/name-based.html

(对于 2.x 也应如此)

“如果没有找到匹配的虚拟主机,那么将使用第一个列出的与 IP 地址匹配的虚拟主机。

因此,第一个列出的虚拟主机是默认虚拟主机。当 IP 地址与 NameVirtualHost 指令匹配时,将永远不会使用来自主服务器的 DocumentRoot。如果您希望对不匹配任何特定虚拟主机的请求进行特殊配置,只需将该配置放入容器中并将其列在配置文件的第一位即可。”

关于apache - 为什么http ://localhost redirect to my default virtual host once I setup virtual hosts in Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/526832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com