php干貨丨深度解析靜態(tài)化的好處

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)容都會導(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í),或者第一次查看。由于后臺發(fā)布系統(tǒng)和前臺查看系統(tǒng)在兩臺不同的服務(wù)器上,因此本例是在第一次查看的時(shí)候靜態(tài)化的。數(shù)據(jù)庫中除了必要的標(biāo)題、內(nèi)容字段外,另外新增了一個(gè)靜態(tài)化標(biāo)志,用于判斷是否靜態(tài)化。新聞新增和修改的時(shí)候會置為0,靜態(tài)化的時(shí)候會置為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://www.muchs.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)請盡快告知,我們將會在第一時(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)

手機(jī)網(wǎng)站建設(shè)