我正在寻找一种方法来验证与我的Apache模块相关的每个目录配置中的指令关系。所以假设我有两个指令可以在<Location />
或<Directory />
块中定义:
AP_INIT_TAKE1("Directive1", set_directive1, NULL, OR_AUTHCFG, "Directive1"),
AP_INIT_TAKE1("Directive2", set_directive2, NULL, OR_AUTHCFG, "Directive 2"),
我如何以及何时确保Directive1
和Directive2
都已设置且不为空?在ap_hook_post_config
挂钩中没有顺利的方法来获取所有目录配置。检查服务器配置非常简单,因为它可以通过ap_get_module_config(s->module_config, &my_module)
访问,但目录配置呢?
现在我正在维护流程配置池中的所有目录配置列表(通过apr_pool_userdata_set
/ apr_pool_userdata_get
)。这样我可以检索我的模块在ap_hook_post_config
钩子中创建的目录配置,但我无法想象这是要走的路。至少它感觉非常hacky。
我对如何处理这个问题的想法感到非常高兴。我检查了mod_example.c
以及Apache API Doc,但在ap_hook_post_dir_config
配置创建完成时,似乎没有<Directory />
挂钩。
更新:抱歉,忘记提及我正在使用C
进行开发