动态网页静态化+局部静态化

Posted 阿卡贝拉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态网页静态化+局部静态化相关的知识,希望对你有一定的参考价值。

静态化:

1.设置缓存时间

if(is_file(‘./index.html‘) && (time()-filemtime(‘./index.html‘) < 1200)) {
    require_once(‘./index.html‘);
}else {
    // 引入数据库链接操作
    require_once(‘./db.php);
    $sql = "select * from news where `category_id` = 1 and `status` = 1 limit 4";
    try{
        $db = Db::getInstance()->connect();
        $result = mysql_query($sql, $db);
        $newsList = array();
        while($row = mysql_fetch_assoc($result)) {
            $newsList[] = $row;
        }
    }catch(Exception $e) {
        // TODO
    }
    ob_start();
    require_once(‘template/index.php‘);
    $s = ob_get_contents();
    file_put_contents(‘./index.html‘, $s);
    //ob_clean();
}

 

 因为是缓存设置的时间,则在此之前的缓存不能被清除,所以在此前生成静态文件的时候,获取缓存内容就不能用ob_get_clean()函数,这个函数获取缓存内容的后清除了缓存,但是ob_get_contents()就会获取缓存不会清除缓存。所以要用ob_get_contents();

2.加个按钮选择手动刷新

3.crontab -e 定时 ,分 时 日 月 周 执行语句

 

局部更新:

ajax的get方法,拿接口,写个js,获取接口数据然后格式化。

<script>
$.ajax({ 
    type : "GET",
    url: "http://static.com/demo4/api/ajax.php",
    dataType : "json",
    success: function(data){
        alert(data.message);
    }
});
</script>

 

以上是关于动态网页静态化+局部静态化的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你运营:SEO基础-HTML-静态化

php中的页面静态化

PHP 动态页面静态化实战

页面静态化

为什么做页面优化要用静态化,静态化如何落地?

页面静态化补充:增加缓冲时间