<-
Apache HTTP 服务器 2.4 > 配置文件

配置文件

本文档介绍了用于配置Apache HTTP Server的文件。

支持Apache!

也可以看看

最佳

主要配置文件

通过将伪指令放置在纯文本配置文件中来配置Apache HTTP Server 。主要配置文件通常称为 httpd.conf。该文件的位置在编译时设置,但是可以用-f 命令行标志覆盖。另外,可以使用Include 指令添加其他配置文件,并且通配符可用于包含许多配置文件。任何指令都可以放置在任何这些配置文件中。仅在httpd启动或重新启动时,主配置文件的更改才能被httpd识别。

服务器还读取一个包含mime文档类型的文件。文件名由TypesConfig指令设置,mime.types默认情况下为。

最佳

配置文件的语法

httpd配置文件每行包含一个指令。反斜杠“ \”可以用作一行的最后一个字符,以指示该指令继续到下一行。反斜杠和行尾之间不得有其他字符或空格。

指令的参数由空格分隔。如果参数包含空格,则必须将该参数用引号引起来。

配置文件中的指令不区分大小写,但是指令的参数通常区分大小写。以井号“#”开头的行被视为注释,并被忽略。注释不能与配置指令放在同一行。在指令之前会出现空白,因此为了清楚起见,您可以缩进指令。空行也将被忽略。

Define可以使用以下语法在配置文件行中使用由of或shell环境变量定义的变量值${VAR}。如果“ VAR”是有效变量的名称,则将该变量的值替换为配置文件行中的该位置,然后继续进行处理,就像直接在配置文件中找到该文本一样。用定义的变量Define优先于shell环境变量。如果未找到“ VAR”变量,则字符${VAR} 保持不变,并记录警告。变量名不能包含冒号“:”字符,以避免与RewriteMap的语法冲突 。

只有在服务器启动之前定义的外壳环境变量才能在扩展中使用。在配置文件本身中定义的环境变量(例如与SetEnv)生效太迟,无法用于在配置文件中进行扩展。

常规配置文件中,变量替换并加入任何连续的行之后,一行的最大长度约为16 MiB。在.htaccess文件中,最大长度为8190个字符。

您可以使用apachectl configtest-t命令行选项在不启动服务器的情况下检查配置文件中的语法错误。

您可以使用mod_info-DDUMP_CONFIG所有包含的文件和解决环境变量和所有的意见和不匹配的转储配置 <IfDefine>,并 <IfModule>删除部分。但是,输出不会反映重复指令可能发生的合并或覆盖。

最佳

模组

httpd是模块化服务器。这意味着核心服务器中仅包含最基本的功能。可通过可加载到httpd中的模块获得扩展功能。缺省情况下,基部模块的集合被包括在编译时的服务器。如果将服务器编译为使用动态加载的 模块,则可以分别编译模块并使用LoadModule 指令随时添加模块。否则,必须重新编译httpd以添加或删除模块。通过将特定模块包含在模块中,可以根据特定模块的存在将其包含在其中<IfModule>。然而, <IfModule> 块不是必需的,并且在某些情况下可能掩盖了您缺少重要模块的事实。

要查看当前将哪些模块编译到服务器中,可以使用-l命令行选项。您还可以使用-M 命令行选项查看动态加载了哪些模块。

最佳

指令范围

放置在主配置文件中的指令适用于整个服务器。如果要更改配置只对服务器的一部分,可以通过将其放置在你的范围的指令<Directory><DirectoryMatch><Files><FilesMatch><Location>,和<LocationMatch> 部分。这些部分将它们所包含的指令的应用限制为特定的文件系统位置或URL。它们也可以嵌套,以实现非常精细的配置。

httpd可以同时服务于许多不同的网站。这称为虚拟主机。也可以通过将指令放在<VirtualHost> 各个部分中来确定其范围,以便它们仅适用于对特定网站的请求。

尽管大多数指令都可以放在任何这些节中,但是某些指令在某些情况下没有意义。例如,控制进程创建的指令只能放在主服务器上下文中。要查找可以在哪些节中放置哪些指令,请检查指令的上下文。有关更多信息,我们提供有关目录,位置和文件部分工作方式的详细信息。

最佳

.htaccess文件

httpd允许通过放置在Web树中的特殊文件来分散管理配置。特殊文件通常称为.htaccess,但是可以在AccessFileName 指令中指定任何名称。放置在.htaccess文件中的指令适用于放置文件的目录以及所有子目录。这些.htaccess文件与主要配置文件遵循相同的语法。由于 .htaccess文件是根据每个请求读取的,因此对这些文件所做的更改将立即生效。

要查找可以在.htaccess文件中放置哪些指令 ,请检查指令的上下文。服务器管理员还可以.htaccess通过AllowOverride 在主配置文件中配置指令来控制可以在文件中放置哪些指令。

有关.htaccess文件的更多信息,请参见.htaccess教程

可用语言: de  |  zh  |  fr  |  ja  |  ko  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。