Tôi đã đặt tệp .htaccess của mình thành như sau:
Header set MyHeader "I'm Set!"
Nếu tôi đi đến thư mục đó ( http://example.com/test/
) không có tệp chỉ mục mặc định và xem hoạt động mạng (trong trường hợp này với Chrome), tôi có thể thấy rằng tiêu đề đang được gửi. Nếu tôi đi đến tệp php ( http://example.com/test/test.php
), tiêu đề sẽ không được gửi.
Tôi đã tạo một index.html (chỉ đơn giản <pre>Hi
là nội dung) và nó được gửi. Tôi thay đổi tên tập tin thành .php
, không có tiêu đề. Nếu tôi thay đổi ký tự test.php
thành test.html
, nó sẽ xuất ra mã trông giống rác và tiêu đề được gửi. Nếu tôi thay đổi test.php
thành test.png
, tôi nhận được một biểu tượng hình ảnh bị hỏng và tiêu đề được gửi.
Vì vậy, không có kiểm tra ngoài các điều khoản về phần mở rộng tệp và loại mime, chỉ xuất hiện .php
các tệp (hợp pháp hoặc theo cách khác) được đặt thành không áp dụng quy tắc .htaccess hoặc cụ thể là các chỉ thị mod_headers. Nhưng tôi không biết làm thế nào để kiểm tra điều này và vì đó là một máy chủ dùng chung, tôi không có httpd.conf
quyền truy cập để chọc ngoáy.
Bất kỳ ý tưởng nào về lý do tại sao apache sẽ bỏ qua việc gửi tiêu đề cho các tệp php?
Tôi cũng đã thử:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>