2022-12-26 分類: 網(wǎng)站建設(shè)
靜態(tài)化的好處:雖然百度表示不歧視動(dòng)態(tài)網(wǎng)址,但是動(dòng)態(tài)帶參的網(wǎng)址仍然容易將Baiduspider帶入黑洞,從而被百度放棄,不利于SEO。除了利于SEO,頁面靜態(tài)化還能減輕服務(wù)器的訪問壓力,降低數(shù)據(jù)庫的讀寫壓力,利于性能優(yōu)化。其三,靜態(tài)化還能防止SQL注入攻擊。
靜態(tài)化的分類:偽靜態(tài)和真靜態(tài)
偽靜態(tài)化:通過修改URL使得動(dòng)態(tài)URL看上去像靜態(tài)URL,從而達(dá)到親近搜索引擎的目的。例如:
動(dòng)態(tài)URL:http://localhost/news.php?lang=cn&class=1&id=2
靜態(tài)URL:http://localhost/news-cn-sport-id2.html
真靜態(tài)化:通過模版引擎生成靜態(tài)html文件或通過ob緩存靜態(tài)化。
【注】頁面靜態(tài)化需要偽靜態(tài)化和真靜態(tài)化結(jié)合使用,從而達(dá)到最終靜態(tài)化的目的。靜態(tài)化雖好,但不是所有地方都適用,需要自行判斷優(yōu)劣。
利用ob緩存實(shí)現(xiàn)真靜態(tài)化詳解:
Ob緩存:php自帶的緩存,默認(rèn)開啟,可以在php.ini文件中查看是否開啟。如果ob緩存關(guān)閉,那么只有程序緩存,header函數(shù)前輸出任何內(nèi)容都會(huì)導(dǎo)致程序報(bào)錯(cuò)。
Php中操作ob緩存的相關(guān)函數(shù):
//開啟ob緩存
ob_start();
//把ob內(nèi)容緩存清空,但是ob緩存還在
ob_clean();
//把ob內(nèi)容緩存清空,同時(shí)關(guān)閉ob緩存
ob_end_clean();
//把ob緩存的內(nèi)容,刷新到程序緩存,同時(shí)關(guān)閉ob緩存
ob_end_flush();
//把ob緩存的內(nèi)容,刷新到程序緩存,不關(guān)閉ob緩存
ob_flush();
//獲取ob緩存內(nèi)容
$con=ob_get_contents();
//需要把靜態(tài)頁,寫入文件.echoprint_rvar_dump,寫文件,下斷點(diǎn).
file_put_contents("d://test.html",$con);
該函數(shù)是把程序緩存的內(nèi)容,強(qiáng)制刷新到瀏覽器
//flush();
下面是一個(gè)新聞發(fā)布系統(tǒng),類似這種一旦發(fā)布更新不大的系統(tǒng)非常適合靜態(tài)化。
靜態(tài)化的時(shí)機(jī)可以選擇發(fā)布時(shí),或者第一次查看。由于后臺(tái)發(fā)布系統(tǒng)和前臺(tái)查看系統(tǒng)在兩臺(tái)不同的服務(wù)器上,因此本例是在第一次查看的時(shí)候靜態(tài)化的。數(shù)據(jù)庫中除了必要的標(biāo)題、內(nèi)容字段外,另外新增了一個(gè)靜態(tài)化標(biāo)志,用于判斷是否靜態(tài)化。新聞新增和修改的時(shí)候會(huì)置為0,靜態(tài)化的時(shí)候會(huì)置為1。
代碼邏輯結(jié)構(gòu):
外層if判斷服務(wù)器中靜態(tài)文件是否存在,以id命名。
如果存在
內(nèi)層if判斷靜態(tài)化標(biāo)志是否為1,
如果為1(表示已經(jīng)靜態(tài)化,且無修改)
直接返回該文件;
如果不為1(表示未靜態(tài)化,有修改)
打開ob緩存,讀取文章內(nèi)容,和模版信息,生成要返回的html代碼,并把內(nèi)容輸出到html文件中,更新靜態(tài)化標(biāo)志為1,重定向到靜態(tài)html文件。
如果不存在
打開ob緩存,讀取文章內(nèi)容,和模版信息,生成要返回的html代碼,并把內(nèi)容輸出到html文件中,更新靜態(tài)化標(biāo)志為1,重定向到靜態(tài)html文件。
具體代碼如下:
本文名稱:php干貨丨深度解析靜態(tài)化的好處
地址分享:http://m.rwnh.cn/news23/225473.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、云服務(wù)器、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容