為了提高網(wǎng)站的瀏覽速度,我們需要對(duì)網(wǎng)站的一些頁(yè)面進(jìn)行靜態(tài)化處理,如果是使用thinkphp開(kāi)發(fā)的網(wǎng)站,可以讓網(wǎng)頁(yè)生成靜態(tài)緩存文件(其實(shí)就是真實(shí)的靜態(tài)文件,文件名和文件路徑均可自定義),下面講一下生成靜態(tài)緩存的方法:
找到ThinkPHP/ThinkPHP.php,根據(jù)自身需求,設(shè)置下面的參數(shù),一般HTML_PATH的路徑可以設(shè)置成跟緩存文件同一個(gè)位置,這樣清空緩存的同時(shí)也清空生成的靜態(tài)緩存文件。
找到這一句:defined('HTML_PATH') or define('HTML_PATH', APP_PATH.'Html/');
修改成:defined('HTML_PATH') or define('HTML_PATH', 'Runtime/Html/'); // 應(yīng)用靜態(tài)目錄
在前臺(tái)的Application\Home\Conf\config.php配置文件里設(shè)置靜態(tài)緩存的參數(shù):
'HTML_CACHE_ON' => true,//是否開(kāi)啟靜態(tài)緩存,只有開(kāi)啟了才會(huì)生成靜態(tài)緩存文件
'HTML_PATH' => 'Html',//比較奇怪的是,在這里設(shè)置是無(wú)效的,需要在ThinkPHP/ThinkPHP.php文件里設(shè)置HTML_PATH,目前還沒(méi)找到原因所在
'HTML_CACHE_TIME' => 0,
'HTML_FILE_SUFFIX' => '.html', //生成的靜態(tài)文件的后綴
'HTML_CACHE_RULES' => array( // 定義靜態(tài)緩存規(guī)則
'index:' => array(Index/{:action}'),//控制器,方法
'global:index' => array('Global/index'),
'about:index' => array('About/about_{id}'),//{id}即$_GET[‘id’]
'solution:info' => array('Solution/info_{id}_{sid}'),
)
生成的靜態(tài)緩存文件如下圖所示:
文件夾里面都是生成的html靜態(tài)文件,用戶(hù)瀏覽網(wǎng)站時(shí)相當(dāng)于瀏覽里面的靜態(tài)文件,這樣瀏覽速度會(huì)快很多。
接下來(lái)是清除緩存文件: 刪除文件夾內(nèi)所有子文件夾和文件,下面是調(diào)用方法:
$dirs = array('Runtime/Html/');//需要清除緩存的文件夾
foreach ($dirs as $value) {
rmdirr($value);//開(kāi)始清除緩存
}
下面是rmdirr方法的截圖如下:
拋出可能會(huì)存在的的問(wèn)題:
問(wèn)題1:清除緩存后,會(huì)把有的靜態(tài)緩存文件都刪除了,前臺(tái)需要打開(kāi)瀏覽一次才能重新生成,是不是可以只刪除更新的網(wǎng)頁(yè)?
問(wèn)題2: 如果是一般的企業(yè)網(wǎng)站,頁(yè)面比較少的,可以在清除緩存的同時(shí),自動(dòng)生成靜態(tài)緩存文件(利用PHP程序模似打開(kāi)前臺(tái)頁(yè)面,就可以生成靜態(tài)緩存了,如果欄目頁(yè)面比較多的話(huà),可以分欄目生成靜態(tài)緩存文件),也許沒(méi)必要這樣,因?yàn)榈谝淮螢g覽會(huì)慢一些,但之后再瀏覽已是靜態(tài)文件。
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.sdlwjx666.com/news/5109.html