J'ai mon fichier .htaccess défini comme suit:
Header set MyHeader "I'm Set!"
Si je vais dans ce répertoire ( http://example.com/test/), qui n'a pas de fichier d'index par défaut, et que je visualise l'activité réseau (dans ce cas avec Chrome), je peux voir que l'en-tête est envoyé. Si je vais dans un fichier php ( http://example.com/test/test.php), l'en-tête n'est pas envoyé.
J'ai créé un index.html (avec simplement <pre>Hicomme contenu) et il est envoyé. Je change le nom du fichier en .php, pas d'en-tête. Si je change l'orignal test.phpen test.html, il produit le code qui ressemble à des ordures et l'en-tête est envoyé. Si je passe test.phpà test.png, j'obtiens une icône d'image cassée et l'en-tête est envoyé.
Ainsi, sans tester au-delà de ce qui précède en termes de type mime et d'extensions de fichiers, il semble que seuls les .phpfichiers (légitimes ou non) sont définis pour ne pas appliquer de règles .htaccess ou spécifiquement les directives mod_headers. Mais je ne sais pas comment tester cela et parce que c'est un serveur partagé, je n'ai pas httpd.confaccès à fouiner.
Des idées sur la raison pour laquelle apache ignorerait l'envoi d'en-têtes pour les fichiers php?
J'ai aussi essayé:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>