CentOS 7 上的 httpd 2.4.6 - 与 httpd.conf 中模块配置相关的问题

CentOS 7 上的 httpd 2.4.6 - 与 httpd.conf 中模块配置相关的问题

我很抱歉在这里发布此类问题,但由于这里拥有丰富的经验和技能,我希望您能理解。

我正在使用(不幸的是)httpd 包(v 2.4.6)。在各种指南中,我看到 httpd.conf 中定义的许多模块加载如下(以“.c”结尾)

<IfModule mod_headers.c>

其他模块将在最后加载时不带“.c”,例如:

<IfModule security2_module>

你可以说我很愚蠢,但我很难找到相关的官方文档,所以我只是猜测:添加“.c”将使用提供的定义覆盖该模块的默认定义。我的这个假设正确吗?

如果没有:有人可以善意地告诉我有关这方面的官方文档吗?

答案1

你必须检查这个:

模块参数可以是编译时的模块标识符或模块的文件名。例如,rewrite_module 是标识符,mod_rewrite.c 是文件名。如果模块由多个源文件组成,请使用包含字符串 STANDARD20_MODULE_STUFF 的文件名。

简而言之,这意味着:
该模块mod_rewrite.c被编译为mod_rewrite.so.源文件mod_rewrite.c包含 line module AP_MODULE_DECLARE_DATA rewrite_module;,它声明了一个名为 的模块rewrite_module。因此,模块可以被称为rewrite_module或 (模块标识符),或者是mod_rewrite.c由它编译的。

指令LoadModule告诉rewrite_module从编译对象中加载带有标识符的模块mod_rewrite.so。配置此选项后,您可以引用标识符或源文件名。

相关内容