用于描述指令的术语

本文档描述了用于描述每个 Apache configuration directive的术语。

Description

指令用途的简要说明。

Syntax

这指示指令的格式,就像它出现在配置文件中一样。该语法与指令极为相关,在指令的定义中有详细说明。通常,伪指令名称后跟一系列由一个或多个以空格分隔的参数。如果参数包含空格,则参数必须用双引号引起来。可选参数括在方括号中。如果一个参数可以采用多个可能值,则可能的值由竖线“ |”分隔。Literals 文本以默认字体显示,而必须加的参数类型是*。可以采用可变数量参数的指令将以“ ...”结尾,表示重复了最后一个参数。

指令使用大量不同的参数类型。以下是一些常见的定义。

  • URL

    • 完整的统一资源定位符,包括方案,主机名和可选的路径名,如http://www.example.com/path/to/file.html
  • URL-path

      • url *的一部分,遵循/path/to/file.html中的方案和主机名。 url-path *表示资源的 Web 视图,而不是文件系统视图。
  • file-path

    • 本地文件系统中以/usr/local/apache/htdocs/path/to/file.html开头的根目录开头的文件的路径。除非另有说明,否则不以斜杠开头的* file-path *将被视为相对于ServerRoot
  • directory-path

    • 本地文件系统中目录的路径,以/usr/local/apache/htdocs/path/to/开头的根目录。
  • filename

    • file.html一样没有附带路径信息的文件名。
  • regex

    • 与 Perl 兼容的regular expression。指令定义将指定* regex *要匹配的内容。
  • extension

    • 通常,这是文件名中位于最后一个点之后的部分。但是,Apache 可以识别多个文件 extensions,因此,如果* filename 包含多个点,则第一个点之后的文件名中每个点分隔的部分都是 extension 。例如, filename * file.html.en包含两个 extensions:.html.en。对于 Apache 指令,可以指定* extension ,带或不带前导点。另外, extension * s 不区分大小写。
  • MIME-type

    • 一种描述文件格式的方法,该文件格式由主要格式类型和次要格式类型组成,并由text/html中的斜杠分隔。
  • env-variable

Default

如果该指令具有默认值(* i.e. *,如果您完全从配置中省略它,则 Apache Web 服务器的行为就像您将其设置为特定值一样),在此进行说明。如果没有默认值,此部分应显示“ * None *”。请注意,此处列出的默认值不一定与该指令在随服务器分发的默认 httpd.conf 中采用的值相同。

Context

这表明该指令在服务器的配置文件中的合法位置。这是一个或多个以下值的逗号分隔列表:

  • server config

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

    • 此上下文意味着该指令可能出现在服务器配置文件中的<VirtualHost>容器内。
  • directory

  • .htaccess

    • 如果指令在这种情况下有效,则意味着它可以出现在* per *目录.htaccess文件中。尽管它取决于当前处于活动状态的overrides,但可能无法处理。

该指令“ ”仅在指定的上下文中允许;如果您尝试在其他地方使用它,则会收到配置错误,该错误将阻止服务器在该上下文中正确处理请求,或者使服务器完全无法运行- ie *,服务器甚至不会开始。

该指令的有效位置实际上是所有列出的上下文的布尔或的结果。换句话说,可以在httpd.conf文件和.htaccess文件中使用在“ server config, .htaccess”中标记为有效的指令,但不能在任何<Directory><VirtualHost>容器中使用。

Override

此伪指令属性指示当它出现在.htaccess文件中时,为了使其能够被处理,必须激活哪个配置替代。如果指令的context不允许它出现在.htaccess文件中,则不会列出任何上下文。

覆盖由AllowOverride指令激活,并且适用于特定范围(例如目录)和所有后代,除非由较低级别的其他AllowOverride指令进一步修改。该指令的文档还列出了可用的可能的替代名称。

Status

这表明该指令与 Apache Web 服务器的绑定程度。换句话说,您可能需要使用一组增强的模块来重新编译服务器,以便获得对指令及其功能的访问。该属性的可能值为:

  • Core

    • 如果指令被列为具有“核心”状态,则表示它是 Apache Web 服务器最内部的一部分,并且始终可用。
  • MPM

    • Multi-Processing Module提供了标记为具有“ MPM”状态的指令。仅当您使用指令定义的Module行中列出的 MPM 之一时,这种类型的指令才可用。
  • Base

    • 标准 Apache 模块之一支持标记为“基本”状态的指令,该指令默认情况下已编译到服务器中,因此通常可用,除非您已采取措施从配置中删除该模块。
  • Extension

    • Apache 服务器工具包随附的模块之一提供了状态为“扩展”的指令,但是该模块通常不会编译到服务器中。要启用该指令及其功能,您将需要更改服务器构建配置文件并重新编译 Apache。
  • Experimental

    • “ Experimental”状态表示该指令可作为 Apache 工具包的一部分使用,但是如果您尝试使用它,则只能靠自己了。对该指令进行了记录以确保完整性,不一定支持该指令。提供指令的模块默认情况下可能会编译,也可能不会编译。请查看描述该指令及其模块的页面顶部,以查看其是否对可用性进行了说明。

Module

这很简单地列出了定义指令的源模块的名称。

Compatibility

如果该指令不是原始 Apache 版本 2 发行版的一部分,则应在此处列出引入该指令的版本。另外,如果该指令仅在某些平台上可用,将在此处进行说明。