接手古老的服务端渲染项目日记(1), 静态资源js,css等缓存问题

203 阅读1分钟

php服务端渲染项目日记(1)

  • 人: php小白
  • 接手php模板渲染项目的第10+天

问题

  • 传统前后端分离项目静态资源如自己写的js、css修改了之后发布到线上 因为我们nginx配置的对静态资源有缓存 url没变所以在一定时间内它还是旧的

解决

增加版本号
**.html
//从前
<script type="text/javascript" src="/js/pageloader.js"></script>

增加版本号
<script type="text/javascript" src="<?php addversion('/js/pageloader.js') ?>"></script>
common/function.php

/**
 * 添加版本号方法
 * @param $url 静态资源路径
 */
function addVersion($url){
    //获取他文件最后改动时间?ver= 带在链接后面 一旦有更新会请求最新的
    $version = date("Y-m-d-H:i:s",filemtime($_SERVER['DOCUMENT_ROOT'].$url));
    //or 读取发布代码时版本号 //$version = C('version') //例 v2.91
    echo $url.'?ver='.$version;
}