Il mio file .htaccess è impostato come segue:
Header set MyHeader "I'm Set!"
Se vado in quella directory ( http://example.com/test/
), che non ha un file indice predefinito, e visualizzo l'attività di rete (in questo caso con Chrome), vedo che viene inviata l'intestazione. Se vado a un file php ( http://example.com/test/test.php
), l'intestazione non viene inviata.
Ho creato un index.html (con semplicemente <pre>Hi
come contenuto) e viene inviato. Cambio il nome del file in .php
, nessuna intestazione. Se cambio l'originale test.php
in test.html
, viene emesso il codice spazzatura e viene inviata l'intestazione. Se cambio test.php
a test.png
, ricevo l'icona di un'immagine rotta e l'intestazione viene inviata.
Quindi, senza testare oltre quanto sopra in termini di tipo mime ed estensioni di file, sembra che solo i .php
file (legittimi o di altro tipo) siano impostati per non applicare regole .htaccess o in particolare le direttive mod_headers. Ma non so come testarlo e dato che si tratta di un server condiviso, non ho httpd.conf
accesso a curiosare.
Qualche idea sul perché Apache salta l'invio delle intestazioni per i file php?
Ho anche provato:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>