我正在开发一个包含许多样式表的网站,所有样式表都需要作为服务器端的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 提供的指令似乎都不是我想要的。
答案 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');