we need to use different codes for different Apache versions
Isso.
A sintaxe mudou do Apache 2.2 para o 2.4. No entanto, a antiga sintaxe (Apache 2.2) foi mantida (na verdade, ela foi movida para um módulo diferente: mod_access_compat ) apenas para compatibilidade retroativa - por isso, ainda "funciona". Mas ele está obsoleto e provavelmente será removido em versões futuras. Então, o código no Apache 2.4 deve usar a sintaxe Require ...
.