Ant*_*ony 9 php http-headers apache-2.2
我的 .htaccess 文件设置如下:
Header set MyHeader "I'm Set!"
Run Code Online (Sandbox Code Playgroud)
如果我转到http://example.com/test/
没有默认索引文件的目录 ( ) 并查看网络活动(在这种情况下使用 Chrome),我可以看到正在发送标头。如果我转到 php 文件 ( http://example.com/test/test.php
),则不会发送标头。
我创建了一个 index.html(仅<pre>Hi
作为内容)并被发送。我将文件名更改为.php
,没有标题。如果我将原始文件更改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>
Run Code Online (Sandbox Code Playgroud)
这是运行 CGI 脚本时的预期行为。来自mod_headers 文档的最新(2.4)版本:
在类似下面列出的情况下,onsuccess 的默认值可能需要更改为always。另请注意,在某些情况下,在这两个条件下重复此指令是有意义的,因为相对于现有标头,always 不是 onsuccess 的超集:
[...]
您正在修改或删除由 CGI 脚本生成的标头,在这种情况下,CGI 脚本位于始终对应的表中,而不是默认表中。
最初的问题(也许有更好的解释)位于Bug 49308中。
归档时间: |
|
查看次数: |
5432 次 |
最近记录: |