PHP靜態化技術
阿新 • • 發佈:2017-11-09
框架 write () 程序 網站 如果 color .html 靜態頁面
很多框架的模板引擎都有頁面靜態化的功能 目的是為了優化網站運行時間
靜態化分兩種 純靜態和偽靜態
一. 純靜態
純靜態展示的是實實在在的靜態頁面
運行PHP程序 判斷是否存在靜態頁 如果存在 展示靜態頁 如果不存在 生成靜態頁 再展示
實現方法 是PHP的ob緩沖
//PHP程序一系列邏輯 並將要展示的數據賦值給某些變量準備在模板中使用 ob_start();//開啟ob緩沖區 也可以在配置文件中開啟 require_once(‘template/index.php‘);//引入模板文件 也有可能是html文件 此時模板中的變量已全部解析替換 $s = ob_get_contents(); //將緩沖區的內容取出 file_put_contents(‘./index.html‘, $s);//將緩沖區的內容寫入一個靜態文件 一般的做法是將文件路徑加密之後作為文件名
二.偽靜態
偽靜態就是在url上看起來是靜態 實際上它走的還是動態流程
http://www.baidu.com/home/1.html
實現方法有兩種
1.是項目路由解析把後綴拎出來
$_SERVER變量裏可以抓出url上面的所有節點 拆分成自己想要的即可 該替換的替換 該組合的組合
2.是Apache重寫功能rewrite
開啟Apache重寫功能 在項目目錄中創建.htaccess文件寫入規則
比如寫入如下內容
RewriteEngine on RewriteRule ^localhost/([a-zA-Z]{1,})/([0-9]{1,})\.html$ localhost/$1.php?id=$2
如瀏覽器訪問localhost/home/1.html 實際上被apache重寫為localhost/home.php?id=1
重寫規則的細節規則有點多,有興趣的朋友可以去研究。
靜態化技術也就這兩種 偽靜態只是url看起來好看 實際上對程序並沒有優化效果
PHP靜態化技術