我将.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类型和文件扩展名进行以上测试,则似乎只有.php
文件(合法或其他)设置为不应用.htaccess规则,或者特别是mod_headers指令。但是我不知道如何测试,因为它是一台共享服务器,所以我无权httpd.conf
访问。
关于为什么Apache会跳过发送PHP文件头的任何想法?
我也尝试过:
<FilesMatch "\.(php)$">
Header set MyHeader "I'm Set!"
</FilesMatch>
从PHP / CGI更新到PHP / FastCGI似乎已经修复了它。如果有人知道根本原因,我仍然非常渴望获得反馈。
—
安东尼
安东尼,您使用过mod_fastcgi吗?我遇到的行为完全相同,在我看来mod_fastcgi破坏了mod_headers功能。:我昨天张贴了这个bug报告bugs.launchpad.net/ubuntu/+source/libapache-mod-fastcgi/+bug/...
—
Onkeltem
同样在这里:/任何新闻或解决方法?我无法想象在更多情况下这不是问题……
—
AdrianFöder17年