私は Apache の PHP で以下を使用します。
function cssInclude($file) {
$fileMTime = filemtime($_SERVER['DOCUMENT_ROOT']."/media/css/".$file.".css");
return "<link rel=\"stylesheet\" href=\"/media/css/{$file}.{$fileMTime}.css\"
}
次に、私の<head>
:
<?= cssInclude("style"); ?>
次に、.htaccess で:
RewriteEngine on
RewriteRule ^media/(js|css|img|font)/(.+)\.(\d+)\.(js|css|png|jpg|gif)$ /media/$1/$2.$4 [L]
基本的にこれが行うことは、リンクに時間を持たせることです。もともと私は CSS の後に ? のように ? を使用してそれを行いstyle.css?12313123
ましたが、一部のプロキシは動的であると想定してそれをキャッシュせず、遅くなることがわかりました (たとえば、私の仕事はそれを台無しにしました)。
style.123123123.css
変更されるたびに新しいファイルのように見えるように書き込むことで、キャッシュが正常に機能します。
私の .htaccess では、さまざまなディレクトリやいくつかの異なるファイル形式に対しても、必要に応じてカスタマイズできるようになっていることに気付くでしょう。
もちろん、これはファイルシステムから何かを読み取っていることを意味しますが、キャッシュ層が配置されている場合、これは更新ごとに 1 回だけ行われます。