¿Alguien puede explicarme en qué orden apache ejecuta archivos .htaccess que residen en diferentes niveles de la misma ruta y cómo se priorizan las reglas de reescritura?
Por ejemplo, ¿por qué no funciona la regla de reescritura en el primer .htaccess a continuación y se /blogprioriza?
.htaccess en /
RewriteEngine on
RewriteBase /
RewriteRule ^blog offline.html [L]
.htaccess en /blog
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
PD: no solo estoy buscando una respuesta, sino una forma de entender los aspectos internos de apache / mod_rewrite ... por qué es más importante para mí que cómo solucionar esto,
fuente

Puede usar
RewriteOptions inheritpara heredar las reglas de reescritura del directorio principal. Sin embargo, las reglas de reescritura del directorio principal se aplicarán más adelante, según la documentación de RewriteOptions .fuente
mod_rewritedirectivas no se heredan por defecto (diferentes a otros módulos). Necesitaría unaRewriteOptions InheritXXXXdirectiva en algún lugar para que las directivas se hereden. Sin embargo, esto se vuelve más complejo en Apache 2.4+ con laInheritDownopción que se puede especificar en los directorios principales y la configuración del servidor que luego controla los directorios secundarios.