PHP 實現頁面靜態化
導語
最近在工作中需要實現頁面靜態化,藉此機會把相關資料記錄,整理成demo。具體需求為輸入域名,如jianshu、baidu、sina等,如有靜態頁,返回靜態頁;如沒有,訪問獲取網頁內容並生成靜態頁。
頁面靜態化的好處
根據不同情況,有些需要生成靜態頁,有些實現偽靜態即可,根據實際需求進行抉擇。而靜態化的好處,總結下來有以下幾點:
提高訪問速度
減少伺服器壓力
有利於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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php的ob函式實現頁面靜態化PHP函式
- php 生成靜態頁面PHP
- PHP生成靜態頁面PHP
- Laravel頁面靜態化最佳實踐Laravel
- php頁面靜態化技術;學習筆記PHP筆記
- java 做頁面靜態化Java
- 頁面靜態化技術演進
- Nginx 部署靜態頁面Nginx
- Asp.Net中動態頁面轉靜態頁面ASP.NET
- Asp.net實現靜態頁-新增新聞生成靜態頁ASP.NET
- 實戰電商頁面1:靜態佈局
- 關於論壇JSP頁面靜態化JS
- Laravel diary_靜態頁面Laravel
- 用typescript寫靜態頁面TypeScript
- PHP中實現頁面跳轉PHP
- 靜態頁面佈局例項
- PHP靜態化技術PHP
- 【靜態化平臺】☞(一)網頁靜態化服務網頁
- 暢購商城(七):Thymeleaf實現靜態頁
- 【靜態頁面架構】CSS之列表架構CSS
- 【靜態頁面架構】CSS之表格架構CSS
- 1.9 靜態頁面佈局例項
- 前端靜態頁面問題彙總前端
- 前端靜態頁面快速迭代工具前端
- 小程式頁面動態配置實現
- PHP頁面跳轉幾種實現方法PHP
- Spring Boot返回靜態錯誤頁面Spring Boot
- 編寫靜態頁面經驗總結
- 學成線上專案總結 - Day4 頁面靜態化
- [xx專案前端靜態頁面二]財務主頁前端
- 【靜態頁面架構】CSS之盒子模型架構CSS模型
- 【靜態頁面架構】CSS之選擇器架構CSS
- 360安全衛士靜態頁面(html+css)HTMLCSS
- 使用vuepress搭建GitHub pages靜態部落格頁面VueGithub
- virtualDom+Promise實現動態影象之響應式頁面優化Promise優化
- 網頁渲染方式-從靜態頁面到服務端渲染網頁服務端
- vite 構建工具 如何熱更新靜態頁面?自動重新整理頁面Vite
- SpringBoot2 整合FreeMarker模板,完成頁面靜態化處理Spring Boot