我发现很难find这个答案,经过一个小时(是,一个小时)的search和浏览stackexchange和其他几个论坛上的几个post…甚至通过Apache的文档!
我不能为我的生活find这两者之间的区别,补充说,我对Apache相当不熟悉。
当我寻找替代解决scheme在本地机器上为PHP和MySQL创build开发服务器时遇到了这个问题。 我正在学习这个教程:
https://mallinson.ca/osx-web-development/
…其中提到“VirtualDocumentRoot”,但没有指定为什么这是一个更好的(是吗?)select通过DocumentRoot。
任何线索或链接,我可能会在这里find文件将不胜感激。 谢谢!
注:最接近我发现文档只在DocumentRoot http://httpd.apache.org/docs/2.4/mod/core.html#documentroot
DocumentRoot是一个标准的Apache指令。 根据所使用的上下文,它将全局文档根或虚拟主机的文档根设置为固定path。
VirtualDocumentRoot是Apache模块mod_vhost_alias的指令。 它将文档根设置为可能包含在处理实际请求时评估的variables的dynamicpath。 这样,有效的文档根可以取决于请求的实际主机名和端口号,而不必为所有组合定义单独的虚拟主机。
每个configuration的VirtualHost只能将DocumentRoot设置为1。
VirtualDocumentRoot允许单个虚拟主机,表面上处理大量不相关域的stream量,并且就好像每个域都指向一个独特的文档。
我对这个区别的理解是,DocumentRoot更像是一个用于apacheconfiguration文件的全局variables,它是一个声明web根目录的全局根的单个可变参数。
VirtualDocumentRoot是在你将Virtualhost定义为嵌套variables的时候使用的,不能作为单一variables来使用。 顾名思义,它是虚拟主机的文档根
所以简单来说DocumentRoot是apacheconfiguration的全局根,VirtualDocumentRoot是虚拟主机的根。