Eu tenho meu arquivo .htaccess definido para o seguinte:
Header set MyHeader "I'm Set!"
Se eu for para esse diretório ( http://example.com/test/), que não possui arquivo de índice padrão, e visualizar a atividade de rede (neste caso, com o Chrome), posso ver que o cabeçalho está sendo enviado. Se eu for para um arquivo php ( http://example.com/test/test.php), o cabeçalho não será enviado.
Eu criei um index.html (simplesmente <pre>Hicomo o conteúdo) e ele é enviado. Eu mudo o nome do arquivo para .php, no header. Se eu alterar o orignal test.phppara test.html, ele gera o código que parece lixo e o cabeçalho é enviado. Se eu mudar test.phppara test.png, recebo um ícone de imagem quebrada e o cabeçalho é enviado.
Portanto, sem testar além do acima em termos de tipo mime e extensões de arquivo, parece que apenas .phparquivos (legítimos ou não) estão configurados para não ter regras .htaccess aplicáveis ou especificamente as diretivas mod_headers. Mas não sei como fazer o teste e, por ser um servidor compartilhado, não tenho httpd.confacesso para mexer.
Alguma idéia de por que o apache pularia o envio de cabeçalhos para arquivos php?
Eu também tentei:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>