2009-01-27 65 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');