ThinkPHP 的頁面靜態化功能的實現

2021-09-24 12:22:30 字數 2036 閱讀 7836

**

常說的頁面靜態化分為兩種,一種是偽靜態,即url 重寫,一種是真靜態化。

一. **不分手機版和電腦版,只有一套前台模板

(1)在根目錄下的程式入口檔案index.php中加下面這行:

define(『html_path』, 『./html/』);//生成靜態頁面的檔案位置

(2)在專案的配置檔案config.php中進行如下配置:

『html_cache_on』 => true, // 開啟靜態快取

『html_cache_time』 => 604800, // 全域性靜態快取有效期(秒)(3600247)

『html_file_suffix』=> 『.html』, // 設定靜態快取檔案字尾

『html_cache_rules』=> array( // 定義靜態快取規則

// 定義格式1 陣列方式

// 定義格式2 字串方式

//後乙個引數是靜態快取有效期,單位為秒。如果不定義,則會獲取配置引數html_cache_time 的設定值,如果定義為0則表示永久快取。

『index:index』 =>array(』』),

『index:articallist』 =>array(』/list』),

『index:articalinfo』 =>array(』/』),

『index:productlist』 =>array(』/list』),

『index:productinfo』 =>array(』/』),

//『index:staticcachec』 =>array(』///』,30),

//『index:staticcachec』 =>array(』//』,30),

) 、 和 分別表示當前模組名、控制器名和操作名, 其實等效於 ,則表示分頁。在{}之外的字元作為字串對待,如果包含有"/",會自動建立目錄。

在前台第一次訪問某個模組的某個控制器的某個方法時,就會在指定的目錄按照指定的檔名格式生成靜態html檔案。如圖:

如果系統分電腦版和手機版兩套模板,那麼生成的靜態頁面只有一套,手機先訪問就生成手機的模板,再用電腦訪問的介面就會混亂。

但如若**只有一套模板(比如電腦版)那麼到此就夠了。如果手機電腦兩套模板,解決方法如下

二. **分手機版和電腦版兩套模板

(1)在根目錄下的程式入口檔案index.php中進行如下配置:

define(『html_path』, 『./html/』);//生成靜態頁面的檔案位置

//如果是手機訪問,設定手機快取目錄

if(ismobile())' at position 37: …] = 'mobile/'; }̲elseif(isset(_session[『theme_path』]))

//判斷是否是手機訪問

function ismobile()

if(isset(katex parse error: expected '}', got 'eof' at end of input: …]))

return false;

}(2)在專案的配置檔案config.php中進行如下配置:

//設定靜態快取

『html_cache_on』 => true, // 開啟靜態快取

『html_cache_time』 => 604800, // 全域性靜態快取有效期(秒)(3600247)

『html_file_suffix』=> 『.html』, // 設定靜態快取檔案字尾

『html_cache_rules』=> array( // 定義靜態快取規則

// 定義格式2 字串方式

『index:index』 =>array(』' at position 20: …sion.theme_path}̲/_…

session.theme_path}//_list』),

『index:articalinfo』 =>array(』' at position 20: …sion.theme_path}̲/_…

session.theme_path}//_list』),

//『index:productinfo』 =>array(』//』),

)

thinkphp 頁面靜態化

靜態頁面 是網頁的 都在頁面中,不需要執行asp,php,jsp,net等程式生成客戶端 網頁 的網頁,靜態頁面 中一般不含 等特殊符號 注意 靜態頁面並非 上沒有動畫的就是靜態頁面。動態頁面 是通過執行asp,php,jsp,net等程式生成客戶端網頁 的網頁。常見的副檔名有 asp php js...

ThinkPHP 的頁面靜態化功能的實現 一

頁面靜態化有很多好處,加快頁面開啟瀏覽速度,有利於搜尋引擎優化seo,減輕伺服器負擔,更安全,html頁面不會受php相關漏洞的影響。常說的頁面靜態化分為兩種,一種是偽靜態,即url 重寫,一種是真靜態化。thinkphp 也自帶了生成靜態檔案的方法 buildhtml,方法在 thinkphp l...

頁面靜態化

隨著 的內容的增多和使用者訪問量的增多,無可避免的是 載入會越來越慢,受限於頻寬和伺服器同一時間的請求次數的限制,我們往往需要在此時對我們的 進行 優化和伺服器配置的優化。一般情況下會從以下方面來做優化 什麼是靜態化?純靜態 將php程式生成靜態的html檔案,儲存到伺服器的磁碟中。客戶端訪問的時候...