3

次の記事で説明されているように、PHPを使用して保守可能なスタイルシートを作成しています: http ://www.barelyfitz.com/projects/csscolor/

ただし、PHPはこのファイルを「動的に」生成するのに少し時間がかかるため、クライアントのブラウザによってキャッシュされることはなく、すべての要素が空白/スタイルなしとしてほんの一瞬表示されます。CSSをキャッシュしたり、そのアーティファクトを削除したりする方法はありますか?

Webサイトのリファレンスはhttp://www.leadwerks.net/です。

ありがとう!

4

1 に答える 1

3

CSSファイルが動的に生成されているが、リクエストごとに変更されていない場合は、遠く離れた有効期限ヘッダーを送信し、ファイルに最終変更時刻を追加して、更新が必要な場合にキャッシュを解除できるようにします。

アップデート

だから私はあなたのPHPファイルがどこかにあると思います...

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

...だからこれを追加...

header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 year')).' GMT');

次に、CSSファイルを参照するときに、これを実行します...

<?php echo $file = '/styles/custom.php' ;?>
<link rel="stylesheet"
      type="text/css"
      href="<?php echo $file; ?>?m=<?php echo filemtime($file); ?>"
/>

これがないと、ユーザーは最初にCSSをダウンロードしてから1年間、サイトへの変更を確認できません。ファイルを更新すると、追加された番号が変更されます。ファイルを物理的に変更しない場合(データベース呼び出しを使用)、最後に更新された行を選択するか、バージョン管理番号を追加できます。

于 2011-02-14T23:55:12.917 に答える