我正在尝试修改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>
答案 0 :(得分:0)
似乎没有使用VirtualHost
,这可以解释为什么主服务器配置中的DocumentRoot
处于活动状态。您可能需要在NameVirtualHost
块之前添加VirtualHost
。像这样:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1:80>
...
同样完全删除ServerAlias
指令,因为你没有做任何事情。您不需要在那里复制localhost,因为您将它作为ServerName并且它不接受IP地址。将为分配给它的第一个匹配VirtualHost
提供IP地址。
在Apache 2.4中删除了NameVirtualHost,因此我假设您使用的是早期版本。从2.4开始它没有它。