Typecho虽然在文章页因为评论不能做静态页面,但是在首页可以,静态不仅可以节省服务器的资源,还可以加速访问,以下是我的静态化代码。
<?php
ini_set( 'date.timezone', 'PRC' );
/* 缓存过期时间 单位:秒 */
$expire = 86400;
/* 主动刷新密码 格式:http://test.com/f5.php?password=123456 */
$password = '123456';
$file_time = @filemtime( 'index.html' );
time() - $file_time > $expire && create_index();
isset( $_GET['password'] ) && $_GET['password'] == $password && create_index();
/**
* 生成 index.html
*/
function create_index()
{
ob_start();
include( 'index.php' );
$content = ob_get_contents();
$content .= "\n<!-- Create time: " . date( 'Y-m-d H:i:s' ) . " -->";
/* 调用更新 */
$content .= "\n<script language=javascript src='f5.php'></script>";
ob_clean();
$res = file_put_contents( 'index.html', $content );
if ( $res !== false )
{
die( 'Create successful' );
}
else
{
die( 'Create error' );
}
}
记住,如果你的站点又搜索功能,请将搜索功能的修改action
地址为/search
<div class="site-search col-3 kit-hidden-tb">
<form id="search" method="post" action="/search" role="search">
<label for="s" class="sr-only"><?php _e('搜索关键字'); ?></label>
<input type="text" name="s" class="text" placeholder="<?php _e('输入关键字搜索'); ?>" />
<button type="submit" class="submit"><?php _e('搜索'); ?></button>
</form>
</div>
如果你的主页和我一样有一个天数统计,可以设置一个定时刷新,每天刷新一次,这个功能可以用python实现.
import requests
import time
while True:
requests.get("https://youurl/f5?password=youpssword")
time.sleep(86400)