Apache 2.4 vhost 配置中默认“授予所有人”?

Apache 2.4 vhost 配置中默认“授予所有人”?

我不使用 sites-enabled/sites-available 可能性,但包含来自一个配置文件的 vhost 条目列表 - 所以我想知道以下是否可行?

我在 Apache 2.2 上安装的旧版本允许我将一个默认 vhost 条目设置为第一个条目 - 配置目录设置 - 并让所有其他条目都遵循该设置 - 至少看起来是这样。我不必为每个 vhost 单独设置目录设置。(如果不清楚的话我会添加更多信息)

但是,从 2.4 开始,我似乎必须设置目录设置每个vhost 条目?如果我不这样做,我会立即收到 403 禁止消息。一旦我添加目录条目(授予所有人) - 一切都很好。

有可能吗将目录设置(授予所有人)设置为默认环境?

答案1

大多数 Apache 配置指令都有多个可用的上下文。

您关心的两个问题是服务器配置(又名全球)和虚拟主机。大多数可应用于特定虚拟主机的指令也可在标签之外全局应用<VirtualHost>

如果在服务器配置上下文中使用指令,那么它将应用于所有虚拟主机,除非特别应用了冲突的指令。

在 Apache 及其模块的指令官方文档中,你会看到以下关键字来描述它们可以在什么上下文中使用:

Apache 的代码片段:

服务器配置- 这意味着该指令可以在服务器配置文件(例如 httpd.conf)中使用,但不能在任何容器中使用<VirtualHost>。.htaccess<Directory>文件中根本不允许使用该指令。

虚拟主机- 此上下文意味着该指令可能出现在<VirtualHost>服务器配置文件的容器内。

目录- 在此上下文中标记为有效的指令可以在服务器配置文件中的<Directory>、、、和容器内使用,但须遵守配置部分中概述<Location>的限制。<Files><If><Proxy>

.htaccess- 如果指令在此上下文中有效,则意味着它可以出现在每个目录的 .htaccess 文件中。它可能不会被处理,但取决于当前活动的覆盖。

来源:Apache 2.4 文档

相关内容