当前位置:  开发笔记 > 前端 > 正文

为什么在Apache中设置虚拟主机后,http:// localhost会重定向到我的默认虚拟主机?

如何解决《为什么在Apache中设置虚拟主机后,http://localhost会重定向到我的默认虚拟主机?》经验,为你挑选了1个好方法。

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

NameVirtualHost *:80


    ServerName site1.dev
    DocumentRoot /www/site1



    ServerName site2.dev
    DocumentRoot /www/site2

现在,当我访问http:// localhost时,我得到了site1的默认页面.

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



1> Joe..:

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

(对于2.x也应如此)

"如果找不到匹配的虚拟主机,则将使用与IP地址匹配的第一个列出的虚拟主机.

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

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有