mod_headers não enviando cabeçalhos quando o arquivo é PHP

9

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 tem arquivo de índice padrão e visualizar a atividade de rede (nesse 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 (com apenas <pre>Hi como conteúdo) e ele é enviado. Eu mudo o nome do arquivo para .php , sem cabeçalho. Se eu alterar o orignal test.php para test.html , ele gerará o código com aparência de lixo e o cabeçalho será enviado. Se eu alterar test.php para test.png , recebo um ícone de imagem quebrada e o cabeçalho é enviado.

Portanto, sem testar além do acima mencionado em termos de extensões de arquivo e tipo mime, parece que apenas .php arquivos (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 testar isso e como é um servidor compartilhado, não tenho httpd.conf acesso para pesquisar.

Alguma idéia de por que o apache ignoraria o envio de cabeçalhos para arquivos php?

Eu também tentei:

 <FilesMatch "\.(php)$">
     Header set MyHeader "I'm Set!"
 </FilesMatch>
    
por Anthony 25.04.2012 / 16:35

1 resposta

4

Esse é o comportamento esperado ao executar scripts CGI. Da versão mais recente (2.4) de os documentos mod_headers :

The default value of onsuccess may need to be changed to always under the circumstances similar to those listed below. Note also that repeating this directive with both conditions makes sense in some scenarios because always is not a superset of onsuccess with respect to existing headers:

[...]
You're modifying or removing a header generated by a CGI script, in which case the CGI scripts are in the table corresponding to always and not in the default table.

A edição original (com, talvez, uma explicação melhor) está no Bug 49308 .

    
por 25.04.2012 / 18:24