2012-04-30 7 views
1

PHP:CSSファイルが変更されたときにCSSファイルのキャッシュを防止する最適な方法を判断しようとしています。私はIE6/7/8/9、Firefox、Chrome、iPAD、その他のいくつかのブラウザについては言及していません。コードはCodeIgniterでPHPです。私は修正されたパスを提供するためにmodリライトルールに取り組んでいました。 /timestamp/file.cssのようなものです。しかし、その後、ワークストリング部分が変更されている限り、CSSファイルにワークストリングを追加するだけで、ブラウザが新しいファイルと見なすことができるという記事に気付きました。このワークストリング方式はすべてのブラウザで機能しますか? file.css?v = 1234567890のようなものです。 vが変更された場合、ブラウザは再キャッシュする必要がありますか?この方法を信用できますか?ファイルパスにバージョニングワークストリングを追加すると、すべてのブラウザでキャッシングができなくなりますか?

<?php 
echo '<link rel="stylesheet" type="text/css" href="file.css?v=' . filemtime('file.css') . '" />'; 
?> 
+0

はい、私はそう信じています。 – Zombaya

答えて

2

はい、そうです。別のクエリ文字列は、ブラウザに関する限り、完全に別のURLです。

+0

iPADではどうですか?それについて何か知っていますか?私はiPADの経験はありませんが、一部のクライアントはそれらを使用しようとするかもしれません。 – jjwdesign

+0

はい、iPad(iPADではなく)はクエリ文字列も尊重します。 MacのSafariブラウザとよく似ています。 – ceejayoz

1

これは、HTML自体(あなたのURLを含む)がキャッシュされていない限りです。

関連する問題