Мой файл .htaccess настроен на следующее:
Header set MyHeader "I'm Set!"
Если я иду в этот каталог ( http://example.com/test/
), у которого нет индексного файла по умолчанию, и просматриваю сетевую активность (в данном случае с Chrome), я вижу, что заголовок отправляется. Если я иду в php файл ( http://example.com/test/test.php
), заголовок не отправляется.
Я создал index.html (просто <pre>Hi
с содержимым), и он отправляется. Я изменяю имя файла на .php
, без заголовка. Если я изменяю orignal test.php
на test.html
, он выводит код, выглядящий как мусор, и отправляется заголовок. Если я изменяю test.php
на test.png
, я получаю значок сломанного изображения, и заголовок отправляется.
Таким образом, без тестирования вышеупомянутого в терминах mime-type и расширений файлов, кажется, что только .php
файлы (легальные или иные) либо не имеют правил .htaccess, либо, в частности, директивы mod_headers. Но я не знаю, как это проверить, и, поскольку это общий сервер, у меня нет httpd.conf
доступа к нему.
Любые идеи относительно того, почему apache будет пропускать отправку заголовков для файлов php?
Я также попробовал:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>
источник
Ответы:
Это ожидаемое поведение при запуске сценариев CGI. Из последней (2.4) версии документации mod_headers :
Первоначальная проблема (возможно, с лучшим объяснением) находится в ошибке 49308 .
источник
Header always set MyHeader "I'm Set!"
должно было решить проблему. Я думаю, что нашел ответ, где кто-то предложил это, и в этом случае он тоже не работал. Но я также почти уверен, что они сказали попробоватьHeader set always
, возможно, именно поэтому это предложение провалилось.Header always set
. Я просто неправильно понял цитату?Header always set MyHeader "I'm Set!"
, согласно вашему примеру.