Apache - VirtualDocumentRoot 和 DocumentRoot 之间的区别?

Jay*_*Jay 4 virtualhost documentroot apache-2.4

我发现很难找到这个答案,经过一个小时(是的,一个小时)谷歌搜索和浏览 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

Til*_*idt 9

DocumentRoot是标准的 Apache 指令。根据使用的上下文,它将全局文档根或虚拟主机的文档根设置为固定路径。

VirtualDocumentRoot是 Apache 模块 mod_vhost_alias 的指令。它将文档根设置为一个动态路径,该路径可能包含在处理实际请求时评估的变量。这样,有效的文档根目录可以依赖于请求的实际主机名和端口号,而无需为所有组合定义单独的虚拟主机。


cov*_*ner 5

每个配置的 VirtualHost 只能将 DocumentRoot 设置为 1 个值。

VirtualDocumentRoot 允许单个虚拟主机,表面上处理许多不相关域的流量,并且就像每个域都指向一个唯一的文档根一样。