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>
quelle
Antworten:
Dies ist das erwartete Verhalten beim Ausführen von CGI-Skripten. Aus der neuesten (2.4) Version der mod_headers-Dokumente :
Das ursprüngliche Problem (mit vielleicht einer besseren Erklärung) befindet sich in Bug 49308 .
quelle
Header always set MyHeader "I'm Set!"
sollte die Verwendung das Problem gelöst haben. Ich glaube, ich habe eine Antwort gefunden, bei der jemand dies vorgeschlagen hat, und es hat auch in diesem Fall für das OP nicht funktioniert. Aber ich bin mir auch ziemlich sicher, dass sie es versuchen wolltenHeader set always
, weshalb dieser Vorschlag möglicherweise fehlgeschlagen ist.Header always set
. Verstehe ich das Zitat nur falsch?Header always set MyHeader "I'm Set!"
nach Ihrem Beispiel sein.