ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 描述指令的术语 本文对用于描述Apache[配置指令](#calibre_link-2)的术语加以说明。 ## 说明 对指令用途的简单说明。 ## 语法 说明该指令在配置文件中使用的形式(随指令的不同而不同),在指令的定义中有说明。指令后面一般可以跟一个或多个用空格分开的参数。如果参数中有空格,则必须用双引号括起来,用方括号括起来的是可选参数。如果一个参数可以取多个值,则各个可能的值用"|"分开。应该原样输入的文字使用默认字体,而可变的必须按实际情况加以替换的会_加强显示_。使用可变参数个数的指令以"..."结尾,以表示最后一个参数可以重复。 指令的参数类型非常多,以下列出常用的部分。 _URL_ 一个完整的包括类型、主机名和可选路径名的统一资源引用名,如:`http://www.example.com/path/to/file.html` _URL-path_ _URL_中类型和主机名之后的部分,如"`/path/to/file.html`"是表示资源在网络空间(而不是文件系统)中的位置。 _file-path_ 文件在本地文件系统中相对于根目录的路径,如"`/usr/local/apache/htdocs/path/to/file.html`"。除非以斜杠(/)开头,否则将被视为相对于[ServerRoot](#calibre_link-131)的相对路径。 _directory-path_ 目录在本地文件系统中相对于根目录的路径,如:`/usr/local/apache/htdocs/path/to/` _filename_ 不带路径信息的文件名,如:`file.html` _regex_ Perl兼容的[正则表达式](#calibre_link-67 "see glossary"),是对文本匹配模式的描述。指令的定义中会说明应该使用什么_regex_ 。 _extension_ 一般是指_filename_中最后一个"."号后面的部分。不过,Apache可以辨认文件的多个_extension_ ,如果_filename_中含有多个".",则第一个"."后面由每个"."分隔开的部分都是此文件的_extension_ 。比如"`file.html.en`"有两个_extension_ :`.html`和`.en` 。在Apache指令中指定_extension_时,可以有也可以没有前导的".",而且不区分大小写。 _MIME-type_ 一种用一个主格式类型和一个副格式类型并用斜杠分隔的描述文件格式的方法,如:`text/html` _env-variable_ 这是Apache配置过程中定义的[环境变量](#calibre_link-232)的名称。注意,它不一定与操作系统中的环境变量相同。详情参见[环境变量文档](#calibre_link-232)。 ## 默认值 如果该指令有默认值(即如果你没有在配置中明确指定,那么Apache服务器会默认设置一个特定的值,并认为它是你设置的),会在此处说明。如果没有,则会指明是"_None_"。注意,此处的默认值并不一定与服务器发行版中默认的httpd.conf中该指令的取值相同。 ## 作用域 它表示该指令出现在配置文件的什么位置才是合法的。它是一个用逗号分隔的一个或多个下列值的列表: server config 说明该指令可以用于服务器配置文件(`httpd.conf`),但**不能**用于任何`<VirtualHost>`或`<Directory>`段以及`.htaccess`文件中。 virtual host 说明该指令可以用于服务器配置文件的`<VirtualHost>`段中。 directory 说明该指令可以用于服务器配置文件`<Directory>`, `<Location>`, `<Files>`, `<Proxy>`段中,并服从[配置段](#calibre_link-256)一文的限制。 .htaccess 说明该指令可以用于针对_单个_目录及其子目录的`.htaccess`文件中。它可能会因[overrides](#calibre_link-66)的设置而不起作用。 指令应该_仅仅_出现在允许出现的作用域中,否则会产生配置错误,并导致服务器不能正确处理请求,或者根本不能启动。 指令的有效位置,事实上是其所有被列出的作用域逻辑或的结果。也就是如果一个指令被标为"`server config, .htaccess`"则可以用于`httpd.conf`和`.htaccess` ,但不能用于任何`<Directory>`或`<VirtualHost>`容器。 ## 覆盖项 该属性表示要使`.htaccess`文件中的该指令有效必须激活的配置覆盖项。如果一个指令的[作用域](#calibre_link-20)不包含`.htaccess` ,则无此内容。 `AllowOverride`指令使覆盖生效,并作用于一个特定的范围(比如一个目录)及其下分支,除非又被其下层中其他的`AllowOverride`指令所修改。对指令的说明中同时列出了其可能的覆盖项。 ## 状态 状态代表了此指令与Apache服务器结合的紧密程度;也就是说,有可能需要重新编译服务器以获得一个指令的功能。其可能的值有: Core Apache服务器最核心的部分,始终有效。 MPM 由一个[多路处理模块](#calibre_link-252)提供,此类指令仅仅在使用了指令定义中[模块](#calibre_link-22)一行所列的MPM之一时才有效。 Base 由默认编译进服务器的一个Apache标准模块提供,一般总是有效的,除非你刻意在编译时从配置中删除此模块。 Extension 由一个默认不被编译进服务器的模块提供。要激活此指令并使用其功能,需要修改服务器编译时配置并重新编译Apache。 Experimental 由一个一般来说默认不被编译进服务器的模块提供,并且需要你自己承担使用中的风险。对此指令提供文档是为了保持完整性,而并不一定有技术支持。提供此指令的模块,是否默认被编译进入服务器都有可能,其说明页面的顶部注明了其有效性。 ## 模块 对该指令提供支持的模块列表。 ## 兼容性 如果该指令不是原始Apache2的发行版的一部分,此处会写明此指令应该被使用于哪个版本;另外,如果此指令在特定平台上有功能限制,此处会有详细说明。