Tengo mi archivo .htaccess configurado de la siguiente manera:
Header set MyHeader "I'm Set!"
Si voy a ese directorio ( http://example.com/test/), que no tiene un archivo de índice predeterminado, y veo la actividad de la red (en este caso con Chrome), puedo ver que se está enviando el encabezado. Si voy a un archivo php ( http://example.com/test/test.php), el encabezado no se envía.
He creado un index.html (simplemente <pre>Hicomo contenido) y se envía. Cambio el nombre del archivo a .php, sin encabezado. Si cambio el original test.phpa test.html, genera el código de aspecto basura y se envía el encabezado. Si cambio test.phpa test.png, aparece un icono de imagen rota y se envía el encabezado.
Por lo tanto, sin probar más allá de lo anterior en términos de tipo mime y extensiones de archivo, parece que solo los .phparchivos (legítimos o no) están configurados para que no se apliquen las reglas .htaccess o específicamente las directivas mod_headers. Pero no sé cómo probar esto y debido a que es un servidor compartido, no tengo httpd.confacceso para hurgar.
¿Alguna idea de por qué apache omitiría enviar encabezados para archivos php?
También he intentado:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>
fuente

Respuestas:
Este es el comportamiento esperado cuando se ejecutan scripts CGI. Desde la última versión (2.4) de los documentos mod_headers :
El problema original (con, quizás, una mejor explicación) está en el error 49308 .
fuente
Header always set MyHeader "I'm Set!"debería haber resuelto el problema. Creo que encontré una respuesta donde alguien sugirió eso y tampoco funcionó para el OP en ese caso. Pero también estoy bastante seguro de que dijeron que lo intentaranHeader set always, por lo que esa sugerencia falló.Header always set. ¿Estoy leyendo mal la cita?Header always set MyHeader "I'm Set!", según su ejemplo.