2009-01-27 72 views
4

我正在一个网站上有许多样式表,所有这些样式表都需要作为PHP脚本服务器端进行处理。我的.htaccess文件看起来是这样的:PHP头函数的替代方案

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

这将导致一个小问题,作为HTTP响应的Content-Type场的MIME类型,然后设置为text/html而不是text/css

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

我可以在.htaccess文件中做到这一点吗?没有任何指令提供的mod_mimemod_negotiation似乎是我正在寻找。

回答

8

尝试:

php_value default_mimetype "text/css" 
1

你应该能够只是.PHP扩展添加到您所有的CSS文件;这将导致服务器像所有那样传递所有“普通”CSS,而所有动态的,PHP生成的CSS都应该被解析。在此之后,它只是一个稍微修改您链接样式表的方式件事:

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

尽管这经常做的伎俩对我来说,有可能需要显式声明的MIME类型轻微的机会你CSS文件使用PHP的标题()函数,如下所示:

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