PHP标头功能的替代品

时间:2009-01-27 05:28:46

标签: php apache .htaccess mime-types

我正在开发一个包含许多样式表的网站,所有样式表都需要作为服务器端的PHP脚本处理。我的 .htaccess 文件如下所示:

<FilesMatch "\.(css)$">
    ForceType application/x-httpd-php
</FilesMatch>

这会导致一个小问题,因为http响应的Content-Type字段的mime类型设置为text/html而不是text/css

显然我可以通过在我的所有文件中添加header('Content-Type: text/css')来解决这个问题,但有更好的方法吗?

我可以在.htaccess文件中执行此操作吗? mod_mime mod_negotiation 提供的指令似乎都不是我想要的。

2 个答案:

答案 0 :(得分:8)

尝试:

php_value default_mimetype "text/css"

答案 1 :(得分:1)

您应该只能为所有CSS文件添加 .php 扩展名;这将导致服务器传递所有“正常”的CSS,而所有动态的PHP生成的CSS都应该被解析。之后,只需稍微修改链接样式表的方式:

<link rel="stylesheet" type="text/css" href="styles.css.php" />

虽然这对我来说总是有用,但是你可能需要使用PHP的 header()函数显式声明CSS文件的MIME类型,如下所示:

header('Content-type: text/css');