Apache HTTP 服务器容器配置指令

Apache 容器是对其他指令进行分组的特殊配置指令。
容器使用 XML 样式的标签,这意味着容器的开头是 <name>,结尾是 </name>。
httpd.apache.org/docs/current/sections.html 提供了所有容器指令的索引。

以下是容器的示例:

<LimitExcept method [method] ...>

此容器与 Limit 容器相反,它将访问控制指令限制为
除指定方法外的所有内容。
以下示例使用 LimitExcept 容器,但也说明了容器可以嵌套。
此示例通过将这些目录限制为只读来控制对 UserDir 目录的访问:

<Directory /home/*/public_html>
      AllowOverride FileInfo AuthConfig Limit
      Options MultiViews Indexes SymLinksIfOwnerMatch \
      IncludesNoExec
      <Limit GET POST OPTIONS>
           Order allow,deny
           Allow from all
      </Limit>
      <LimitExcept GET POST OPTIONS>
           Order deny,allow
           Deny from all
      </LimitExcept>
</Directory>

Options 指令按目录控制服务器功能。
其中一些描述如下:

  • MultiViews :允许页面以不同的语言显示,例如
  • Indexes:如果未设置 DirectoryIndex 指令,则生成目录列表
  • SymLinksIfOwnerMatch :如果指向的文件或者目录与链接具有相同的所有者,则遵循符号链接

<Directory directory-path>

此容器将指令应用于目录路径中的目录。
该示例将 Deny、Allow 和 AllowOverride 指令应用于 /var/www/html/test 目录层次结构中的所有文件和目录。
缩进只是为了便于阅读。

<Directory /var/www/html/test>
      Deny from all
      Allow from 192.168.2.
      AllowOverride All
</Directory>

此容器中的 AllowOverride 指令指定 .htaccess 文件中允许的指令类。
.htaccess 文件是其他配置文件,通常包含用户身份验证指令。
AllowOverride 的 ALL 参数意味着 .htaccess 文件中允许使用所有类别的指令。
有几类指令可以控制授权、控制客户端访问、控制目录索引等。

<IfModule [!]module-name>

如果加载了模块名称,则此容器应用指令。
使用可选的感叹号,Apache 反之;也就是说,如果模块名称未加载,它会在容器中设置指令。
一个例子如下:

<IfModule mod_userdir.c>
      UserDir disabled
</IfModule>
更多: zhilu jiaocheng

<Limit method [method] ...>

此容器将访问控制指令限制为指定的方法。
HTTP 方法指定要对统一资源标识符 (URI) 执行的操作。
方法的示例是 GET(默认)、PUT、POST 和 OPTIONS。
以下示例禁用来自不在 example.com 域中的系统的 HTTP 上传 (PUT):

<Limit PUT>
      Order deny,allow
      Deny from all
      Allow from .example.com
</Limit>
日期:2020-09-17 00:16:35 来源:oir作者:oir