Ich habe meine .htaccess-Datei wie folgt eingestellt:
Header set MyHeader "I'm Set!"
Wenn ich zu diesem Verzeichnis ( http://example.com/test/
) gehe , das keine Standardindexdatei enthält, und die Netzwerkaktivität (in diesem Fall mit Chrome) ansehe, kann ich sehen, dass der Header gesendet wird. Wenn ich zu einer PHP-Datei ( http://example.com/test/test.php
) gehe , wird der Header nicht gesendet.
Ich habe eine index.html erstellt (mit einfach <pre>Hi
als Inhalt) und sie wird gesendet. Ich ändere den Dateinamen in .php
, kein Header. Wenn ich das Original test.php
in ändere test.html
, wird der Code ausgegeben , der nach Müll aussieht , und der Header wird gesendet. Wenn ich zu wechsle test.php
, test.png
wird ein fehlerhaftes Bildsymbol angezeigt und der Header wird gesendet.
Ohne über die oben genannten hinausgehende Tests in Bezug auf MIME-Typ und Dateierweiterungen hinaus scheinen nur .php
Dateien (legitim oder anderweitig) so eingestellt zu sein, dass entweder keine .htaccess-Regeln gelten oder speziell die Anweisungen mod_headers. Aber ich weiß nicht, wie ich das testen soll, und da es sich um einen gemeinsam genutzten Server handelt, habe ich keinen httpd.conf
Zugriff darauf , mich umzuschauen.
Irgendwelche Ideen, warum Apache das Senden von Headern für PHP-Dateien überspringen würde?
Ich habe auch versucht:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>