Apache 忽略 DocumentRoot
Apache ignoring DocumentRoot
我正在尝试修改 Apache 中虚拟主机的 DocumentRoot。忽略虚拟主机的 DocumentRoot 设置,而是使用整个 DocumentRoot。
在我的例子中,Apache 没有使用 /Applications/AMPPS/www/public 作为根文件夹,而是使用 /Applications/AMPPS/www.
httpd.conf 文件的相关部分如下。
有人看到问题了吗?
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Applications/AMPPS/www"
...snip...
<VirtualHost 127.0.0.1:80>
<Directory "/Applications/AMPPS/www">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
ServerName localhost
ServerAlias localhost 127.0.0.1
ScriptAlias /cgi-bin/ "/Applications/AMPPS/www/cgi-bin/"
DocumentRoot "/Applications/AMPPS/www/public"
ErrorLog "/Applications/AMPPS/apache/logs/error_log"
CustomLog "/Applications/AMPPS/apache/logs/access.log" combined
</VirtualHost>
似乎没有使用 VirtualHost
,这可以解释为什么主服务器配置中的 DocumentRoot
处于活动状态。您可能需要在 VirtualHost
块之前添加 NameVirtualHost
。像这样:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1:80>
...
同时完全删除 ServerAlias
指令,因为你在那里的两个整体都没有做任何事情。您不需要在那里复制 localhost 因为您将它作为 ServerName 并且它不接受 IP 地址。 IP 地址将在分配给它的第一个匹配项 VirtualHost
中提供。
NameVirtualHost 在 Apache 2.4 中被删除,所以我假设您使用的是早期版本。从 2.4 开始,它可以在没有它的情况下工作。
我正在尝试修改 Apache 中虚拟主机的 DocumentRoot。忽略虚拟主机的 DocumentRoot 设置,而是使用整个 DocumentRoot。
在我的例子中,Apache 没有使用 /Applications/AMPPS/www/public 作为根文件夹,而是使用 /Applications/AMPPS/www.
httpd.conf 文件的相关部分如下。 有人看到问题了吗?
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Applications/AMPPS/www"
...snip...
<VirtualHost 127.0.0.1:80>
<Directory "/Applications/AMPPS/www">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
allow from All
</Directory>
ServerName localhost
ServerAlias localhost 127.0.0.1
ScriptAlias /cgi-bin/ "/Applications/AMPPS/www/cgi-bin/"
DocumentRoot "/Applications/AMPPS/www/public"
ErrorLog "/Applications/AMPPS/apache/logs/error_log"
CustomLog "/Applications/AMPPS/apache/logs/access.log" combined
</VirtualHost>
似乎没有使用 VirtualHost
,这可以解释为什么主服务器配置中的 DocumentRoot
处于活动状态。您可能需要在 VirtualHost
块之前添加 NameVirtualHost
。像这样:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1:80>
...
同时完全删除 ServerAlias
指令,因为你在那里的两个整体都没有做任何事情。您不需要在那里复制 localhost 因为您将它作为 ServerName 并且它不接受 IP 地址。 IP 地址将在分配给它的第一个匹配项 VirtualHost
中提供。
NameVirtualHost 在 Apache 2.4 中被删除,所以我假设您使用的是早期版本。从 2.4 开始,它可以在没有它的情况下工作。