I also have this same .htaccess in said subdirectory, which I'm not sure if that is the right way to do this.
Bem, isso realmente depende da sua estrutura de URL e de quantos segmentos de caminho você tem. O código .htaccess "funcionando bem" que você postou só funciona em segmentos de caminho único, por exemplo. arquivos na raiz do documento.
No entanto, você não precisa repetir esse arquivo .htaccess no subdiretório. Na verdade, essas diretivas não estão corretas se usadas em um subdiretório - o que provavelmente é o motivo pelo qual seu subdiretório está sendo "apagado". A última linha ( RewriteRule (.*)$ /$1/ [R=301,L] ) removerá o subdiretório da solicitação redirecionada quando usado dentro do subdiretório.
Tente:
-
Remova o arquivo
.htaccessno subdiretório. -
Altere a seguinte diretiva:
RewriteRule ^([^/]+)/$ $1.htmlPara ler:
RewriteRule ^(.+)/$ $1.htmlPara segmentar qualquer nível de diretório. Caso contrário, é limitado a direcionar arquivos apenas na raiz do documento.