PHP 實現頁面靜態化

yzf01發表於2021-09-09

導語

最近在工作中需要實現頁面靜態化,藉此機會把相關資料記錄,整理成demo。具體需求為輸入域名,如jianshubaidusina等,如有靜態頁,返回靜態頁;如沒有,訪問獲取網頁內容並生成靜態頁。

頁面靜態化的好處

根據不同情況,有些需要生成靜態頁,有些實現偽靜態即可,根據實際需求進行抉擇。而靜態化的好處,總結下來有以下幾點:

  • 提高訪問速度

  • 減少伺服器壓力

  • 有利於SEO

  • 提升網站穩定性

PHP生成靜態頁

PHP生成靜態頁有多種方法,此次使用的是ob系列函式,函式內容可檢視。

Rewrite重寫規則

.htaccess中實現Rewrite重寫規則,至於使用.htaccess是否影響效率不在討論範圍之內。

RewriteEngine on# 如果有符合條件的靜態頁,返回靜態頁RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-f# 路由重寫RewriteRule ^(w+).html$ /index.php?website=$1

測試

此時訪問域名,由於沒有靜態頁,相當於請求到。透過PHP的處理,已經生成jianshu.html檔案。
再次訪問,這時由於存在jianshu.html檔案,直接返回靜態頁,而不再請求PHP。有幾點注意事項:

  • 檢查apache是否開啟Rewrite

  • Linux下檔案許可權



作者:haoyq
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2334/viewspace-2810871/,如需轉載,請註明出處,否則將追究法律責任。

相關文章