我的 apache 配置中有此虚拟主机条目。服务器只有一个 IP 地址。如果我在浏览器中输入服务器 IP 地址,内容将从哪个位置提供?“/opt/bitnami/apache2/htdocs”或“/opt/bitnami/apps/wordpress/htdocs”。嗯,在我的测试中,它显示内容是从“/opt/bitnami/apps/wordpress/htdocs”提供的。我想知道为什么。
<VirtualHost _default_:80>
DocumentRoot "/opt/bitnami/apache2/htdocs"
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
<Directory "/opt/bitnami/apache2/htdocs">
Require all granted
</Directory>
<Directory "/opt/bitnami/apps/wordpress/htdocs">
Require all granted
</Directory>
</VirtualHost>
答案1
好吧好吧好吧,看来 apache 占用了最后一个 DocumentRoot。我像下面这样切换了文档根目录,apache 开始提供“/opt/bitnami/apache2/htdocs”中的内容
<VirtualHost _default_:80>
DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
DocumentRoot "/opt/bitnami/apache2/htdocs"
<Directory "/opt/bitnami/apache2/htdocs">
Require all granted
</Directory>
<Directory "/opt/bitnami/apps/wordpress/htdocs">
Require all granted
</Directory>
</VirtualHost>
答案2
DocumentRoot
是设置值的指令。由于在给定上下文中只能有一个,因此每个后续调用都会覆盖前一个。因此最后一个调用将获胜(对于该特定上下文)。
在相同上下文中使用两个指令似乎没用,因为只有第二个指令才重要。