Cri*_*ris 68 .htaccess caching gzip
对于我的网站,我有以下htaccess规则:
# BEGIN Gzip
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>
# END Gzip
# BEGIN EXPIRES
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 10 days"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-icon "access plus 1 year"
</IfModule>
# END EXPIRES
Run Code Online (Sandbox Code Playgroud)
我刚刚更新了我的网站,看起来一切都搞砸了,直到我清理了我的缓存.如何在更新后强制客户端浏览器清除缓存,以便用户可以看到更改?
Sae*_*ati 105
您可以强制浏览器缓存某些内容,但是
因此,唯一的(AMAIK)方式是为您的资源使用新的URL.版本控制之类的东西.
tot*_*rds 57
正如其他答案所说,更改URL是一种很好的缓存清除技术,但是通过更大的站点,更改所有URL以及移动文件是很多工作.
类似的技术是只向URL字符串添加一个版本参数,该字符串是随机字符串/数字或版本号,并且仅针对已更改的文件.
例如,如果您更改站点CSS并且在执行强制刷新之前看起来很糟糕,只需添加?ver=1.1到文件头部的CSS导入即可.这对浏览器来说是一个不同的文件,但您只需要更改导入,而不是文件的实际位置或名称.
例如:
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
变
<link href="assets/css/style.css?ver=1.1" rel="stylesheet" type="text/css" />
适用于javascript文件也很棒.
RAJ*_*RAJ 16
我遇到了你的问题......
虽然我们可以完全清除客户端浏览器缓存,但您可以向应用程序添加一些代码,以便最近的更改反映到客户端浏览器.
在你的<head>:
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
Run Code Online (Sandbox Code Playgroud)
资料来源:http://goo.gl/JojsO
您无法强制浏览器清除缓存.
您的.html文件似乎会在10天后过期时更快地重新加载.您需要做的是更新.html文件并将所有文件移动到新文件夹,例如version-2/或为每个文件添加版本标识符mypicture-2.jpg.然后在.html文件中引用这些新文件,浏览器将再次加载它们,因为位置已更改.
| 归档时间: |
|
| 查看次数: |
149917 次 |
| 最近记录: |