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>Hi
como contenido) y se envía. Cambio el nombre del archivo a .php
, sin encabezado. Si cambio el original test.php
a test.html
, genera el código de aspecto basura y se envía el encabezado. Si cambio test.php
a 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 .php
archivos (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.conf
acceso 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.