Вы не указали, должны ли все эти обработчики выполнять некоторые взаимосвязанные задачи или они будут работать независимо друг от друга.
Я бы хотел сохранить соответствующие обработчики в одном и том же модуле, а остальные в своем собственном модуле. Я считаю, что это облегчает настройку сервера (мы можем легко загружать / выгружать модуль по мере необходимости), и база кода также остается хорошо управляемой.
Например, предположим, что нам нужны два обработчика, которые совместно используют некоторые данные, тогда мы можем хранить их в одном модуле:
static int my_early_hook(request_rec
*r) {
req_cfg *mycfg = apr_palloc(r->pool, sizeof(req_cfg));
ap_set_module_config(r->request_config,
&my_module, mycfg);
/* set module data */ }
static int my_later_hook(request_rec
*r) {
req_cfg *mycfg = ap_get_module_config(r->request_config,
&my_module);
/* access data */ }