CSS和js自動新增版本號
昨天去winy那裡諮詢他網站裡css和js後面版本號的問題,我之所以想加這個功能是因為每次在A電腦修改的樣式或者js到了B電腦上就看不到效果,還得ctrl+f5才能看到,我承認我快取了網站的樣式和js,雖然可以讓使用者把一些常用的很少改動的樣式和js快取到本地,蛋似當我修改了樣式或者js後用戶看到的還是之前快取的那個版本,這是個很糟糕的問題,這樣不能讓各位童鞋們第一時間看到我搞出那些可愛效果,所以我決定也搞一個自動新增版本號的功能。
winy童鞋已經寫好了給wordpress的css和js加上時間戳這篇文章,我在想是不是有其他方法來實現這個功能,功夫不負有心淫,我找到了這個功能,automatically-version-your-css-and-javascript-files
winy童鞋給出的方法貌似不需要修改.htaccess 檔案,而我找到的方法貌似需要修改.htaccess 檔案,你需要在.htaccess裡面加這段程式碼#Rules
for Versioned Static Files
RewriteRule ^(scripts|css)/(.+)\.(.+)\.(js|css)$ $1/$2.$4 [L]
然後在你的function.pnp里加上
<?php
function autoVer($url){
$path = pathinfo($url);
$ver = '.'.filemtime($_SERVER['DOCUMENT_ROOT'].$url).'.';
echo $path['dirname'].'/'.str_replace('.', $ver, $path['basename']);
}
?>
使用的時候這樣使用,裡面的引數填你的css或者js路徑地址
<link
rel="stylesheet" href="<?php autoVer('/css/style.css'); ?>" type="text/css" />
<script type="text/javascript" src="<?php autoVer('/scripts/all.js'); ?>"></script>
有需求的童鞋可以試一下,兩種方法,兩種精彩,最後感謝一下winy童鞋分享他的方法。