经过一个小时(是的,一个小时)的谷歌搜索和浏览 stackexchange 和其他几个论坛上的几篇文章后......甚至通过 Apache 的文档,我发现很难找到这个答案!
我可以不是我一生都找不到这两者之间的区别,而且我对 Apache 还不太熟悉。
我在寻找在本地机器上为 PHP 和 MySQL 创建开发服务器的替代解决方案时遇到了这个问题。我当时正在关注这个教程:
https://mallinson.ca/osx-web-development/
...其中提到了“VirtualDocumentRoot”,但没有具体说明为什么它比 DocumentRoot 更好(是吗?)。
任何有关此文档的线索或链接都将不胜感激。谢谢!
注:我发现最接近的文档仅在 DocumentRoot 上 http://httpd.apache.org/docs/2.4/mod/core.html#documentroot
答案1
答案2
每个配置的 VirtualHost 只能将 DocumentRoot 设置为 1 个值。
VirtualDocumentRoot 允许单身的虚拟主机,表面上处理许多不相关域的流量,并且好像每个域都指向唯一的文档根目录。
答案3
我对差异的理解是,DocumentRoot 更像是 apache 配置文件中使用的全局变量,它是一个声明 Web 根目录的全局根目录的单一变量。
当您定义 Virtualhost 时,会使用 VirtualDocumentRoot,它是内部的嵌套变量,不能作为单个变量。顾名思义,它是虚拟主机的文档根目录
因此,简单地说,DocumentRoot 是 apache 配置的全局根,而 VirtualDocumentRoot 是虚拟主机的根。