Desculpe se isso já foi perguntado/respondido antes, mas não consegui encontrar uma resposta para esse problema específico.
Se eu criar um arquivo .htaccess com uma regra de reescrita simples, essa regra funcionará. Se eu criar outro arquivo .htaccess em um subdiretório com sua própria configuração de reescrita, o arquivo .htaccess principal no nível superior deixará de ser lido. Eu nem preciso criar nenhuma regra. Simplesmente ativar o mecanismo de reescrita no subdiretório faz com que as reescritas de nível superior parem de funcionar.
Criei um conjunto de subdiretórios com dois arquivos de texto:
[root@apachetest html]# cat test/1/test.txt
1
[root@apachetest html]# cat test/2/test.txt
2
E um arquivo .htaccess para reescrever test/1/test.txt para test/2/test.txt
[root@apachetest html]# cat test/.htaccess
RewriteEngine on
RewriteRule 1/test.txt 2/test.txt [L]
Isso funciona conforme o esperado. Se eu solicitar 1/test.txt, recebo 2/test.txt
[root@apachetest html]# curl localhost/test/1/test.txt
2
Mas se eu criar outro arquivo .htaccess dentro do subdiretório test/1/, o arquivo test/.htaccess para de funcionar.
[root@apachetest html]# echo "RewriteEngine On" > test/1/.htaccess
[root@apachetest html]# curl localhost/test/1/test.txt
1
Eu tentei todas as RewriteOptions; Inherit, InheritBefore, InheritDown, InheritDownBefore e IgnoreInherit em /test/.htaccess e /test/1/.htaccess, mas não consigo fazer com que /test/.htaccess RewriteRule funcione se /test/1/.htaccess tem alguma configuração de reescrita nele.
Preciso poder colocar RewriteRules no subdiretório sem afetar o RewriteRules no diretório de nível superior. Alguém pode me dizer o que estou perdendo?