apache virtualhost (windows) 未更改 DocumentRoot

apache virtualhost (windows) not changing DocumentRoot

在 apache (windows 10) 上设置 vHost 时,一切正常 - 而不是 DocumentRoot。 它仍然是 htdocs-目录,而不是我在 httpd-vhosts.conf:

中设置的目录
Listen 80
<VirtualHost *:80>
    ServerAdmin your@email.com
    DocumentRoot "C:\Test"
    ServerName www.test.test
    <Directory "C:\Test">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

我还将域添加到位于 C:\Windows\System32\drivers\etc> 的主机文件夹中。所以那部分工作正常:

# localhost name resolution is handled within DNS itself.
    127.0.0.1       localhost
#   ::1             localhost
    127.0.0.1       www.test.test

就在 httpd.conf 文件中更改 documentRoot 时,如:

#DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "C:\Test"
<Directory "C:\Test">
...

它似乎有效。但这不是一个合适的解决方案...

Apache 不会自动加载它在 conf 目录下找到的每个文件。您需要使用 Include 指令显式加载您需要的那些,如:

Include conf/extra/httpd-vhosts.conf

也可以加载完整的目录,例如:

Include "C:/Data/vhosts/*.conf"

您可以使用此命令验证正在加载哪些文件:

httpd -t -D DUMP_INCLUDES

...以及定义了哪些虚拟主机:

httpd -t -D DUMP_VHOSTS