2

例如,文档根目录virtualHost/var/www,服务器名称为aaa.com。但是,如果我使用andforbidden访问服务器,apache 会告诉我。如果我将选项更改为,apache 将运行良好。我不知道为什么?localhostaaa.comDirectoryhttp.conf/var/www

我想Directory在 every 中设置选项httpd-vhosts.conf,而不是在 中httpd.conf,我该怎么做?

这是我的http.conf

在此处输入图像描述

这是我的httpd-vhosts.conf

在此处输入图像描述

4

3 回答 3

12

http.conf文件中,您应该只为<Directory />. 您应该在httpd-vhosts.conf文件中定义的所有 VirtualHosts 选项。就像是:

httpd.conf:

DocumentRoot "/var/www"

<Directory />
        Order deny,allow
        Deny from all
        Options None
        AllowOverride None
</Directory>

httpd-vhosts.conf:

ServerName aaa.com
DocumentRoot /var/www

<Directory /var/www>
        Options FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>
于 2012-05-04T11:42:57.777 回答
6

此配置对 apache 2.2 版有效

apachectl -V首先通过在终端中输入来检查您的 apache 版本。

如果它显示这样的东西

Server version: Apache/2.4.27 (Ubuntu)
Server built:   2018-04-18T14:20:05

然后您的 apache 版本已更新,但您使用的 conf 已弃用。

所以而不是

2.2 配置:

Order allow,deny
Allow from all

用这个:

2.4 配置:

Require all granted

有关升级的更多文档,请遵循官方文档:

http://httpd.apache.org/docs/current/upgrading.html

于 2018-05-12T10:04:07.880 回答
1

2.4 配置:

<Directory />

Options All
AllowOverride All

</Directory>
于 2018-06-22T04:42:56.223 回答