Config defines are global, but we allow them to be defined/undefine in vhost and per-directory context. Because they are exec_on_read, they are doubly broken in directory context. I think they need to be GLOBAL_ONLY. http://people.apache.org/~covener/patches/define.diff
I guess there is value in virtualhost, the original PR 35350 has a config where some define is set right before including a common file.
Created attachment 32413 [details] block dir context + doc vhost behavior
patch doesn't actually work because of something about EXEC_ON_READ