これはこの質問の直接の複製ですが、提供された解決策は機能しません。
私が維持している WordPress プラグインの一部として、現在、次のコードを使用して動的 CSS ファイルを吐き出しています。
public static function buildCustomCss() {
if (1 == intval(get_query_var(self::$query_var))) {
ob_start();
global $css;
$expires = 60 * 60 * 24 * 365; // cache for a year
header('Pragma: public');
header('Cache-Control: maxage=' . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');
header('Content-type: text/css');
echo str_replace('>', '>', esc_html($css));
ob_end_flush();
exit;
}
}
使用されるヘッダー値は、上記の質問で使用されるものと一致しますが、Chrome と Firefox の両方がキャッシュ リクエストを受け入れることを拒否します。複数のサーバーを試しましたが、それぞれが200
毎回応答を返します。CSS をメイン ページに挿入するよりも、これがより良い解決策になることを願っていましたが、キャッシュが機能しない場合は、結果が大幅に悪化することになります。
リクエスト ヘッダーの完全なリスト (Chrome):
Accept:text/css,*/*;q=0.1
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:<cookie values>
DNT:1
Host:example.org
Referer:http://example.org/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
応答ヘッダーの完全なリスト ( inとin の両方を含む、テストされた最新のヘッダーを含めるように編集されてpublic
pragma
cache-control
います):
Cache-Control:no-transform,public,maxage=31536000
Connection:keep-alive
Content-Type:text/css; charset=UTF-8
Date:Sun, 30 Mar 2014 22:55:57 GMT
Expires:Mon, 30 Mar 2015 22:55:56 GMT
Pragma:public
Server:nginx
Transfer-Encoding:chunked