JPB*_*JPB 1 php .htaccess caching
我已经按照这个(http://www.electrictoolbox.com/force-reload-css-javascript-unique-filenames/)教程强制更新缓存,方法是通过添加修改后的时间来动态命名我的css和javascript文件文件名.这是在开发期间使用,因为我的主机缓存我的文件服务器端有问题.我已经确认mod_rewrite已打开且正在读取htaccess,我肯定是在apache服务器上.我的脚本没有错误,但是当我使用开发人员工具检查源代码时,文件名没有改变.测试页面是www.diysoakwells.com.au/cart2.php.
的.htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^diysoakwells.com.au$
RewriteRule (.*) http://www.diysoakwells.com.au/$1 [R=301,L]
RewriteRule ^(css|js)/(.*)\.[0-9]+\.(.*)$ /$1/$2.$3 [L]
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
# Don’t compress
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
#Dealing with proxy servers
<IfModule mod_headers.c>
Header append Vary User-Agent
</IfModule>
</IfModule>
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
PHP
<link rel="stylesheet" type="text/css" href="/css/styles2.1<?php echo filemtime('/css/styles2.1.css'); ?>.css" />
<script language="javascript" src="/js/simpleCart_verify<?php echo filemtime('/js/simpleCart_verify.js'); ?>.js"></script>
Run Code Online (Sandbox Code Playgroud)
我在评论中尝试了解决方案,但这一切对我来说都很好,有没有人有任何建议?谢谢.
我认为你让它变得不必要地变得复杂.您可以添加查询变量,而不是修改文件名.这也会强制重新加载,并且不需要重写您的资产文件名:
<link rel="stylesheet" type="text/css" href="/css/styles2.1.css?ts=<?php echo filemtime('/path/to/css/styles2.1.css'); ?>" />
// etc.
Run Code Online (Sandbox Code Playgroud)
只要您发送相同的查询变量,结果也将被缓存.
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |