I have a web page that over_writes a CSS file when the page admin changes a few attributes through a web form and a database table. My problem is that the browser sometimes caches the old file and ignores the new version. It has been suggested to me that I should use a file versioning scheme that would basically change the name of the file so that I would never have to worry about the browser caching the old version. Is there any other way around this problem besides the versioning scheme?
Asked
Active
Viewed 618 times
0
-
Google "cache buster". – Barmar Mar 03 '17 at 03:09
-
Are you still in development? In that case, you could simply tell the testers to force a cache refresh (`CTRL`+`SHIFT`+`R` in most browsers). Of course, this won't be feasible in production. – domsson Mar 03 '17 at 03:09
-
Possible duplicate of [How to force page not to be cached in PHP?](http://stackoverflow.com/questions/1907653/how-to-force-page-not-to-be-cached-in-php) – Louis Loudog Trottier Mar 03 '17 at 03:24
1 Answers
0
When including your CSS file in the HTML header, you could simply add a parameter to the query string:
<link rel="stylesheet" href="style.css?v=2">
In your case, you could increment this number programmatically every time the page admin changes something (assuming you have set $cssVersion
somewhere):
<link rel="stylesheet" href="style.css?v=<?php echo $cssVersion; ?>">
You would have to store $cssVersion
in a database column or in a file.

antoineMoPa
- 854
- 10
- 20