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
在 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