PHP產生靜態頁面的兩種方法

來源:互聯網
上載者:User

  1. 管理後台添加記錄時,直接產生目標html頁面,並且前台調用串連直接指向產生的html頁面。這種方法程優點是程式效率最高。

   伺服器負荷輕,不過由於產生的是純靜態頁面,一旦頁面樣式(模版及css=theme)上有所改動就必須重建所有的內容頁。

   所以實際使用中應用一般不是太多。更多的是使用js,ssi,xml/xsl等用戶端手段,產生的靜態檔案中僅儲存資料,不涉及樣式,

   這樣能達到速度和維護性的平衡,不過相對前背景程式要複雜些(應用這種方法時,由於內容為純靜態,可以搭配單獨編譯的純靜態apache使用。。效率和資源佔用上比包含動態內容支援的要更佳)

   ====
   補充:

    a. 上面說的改動樣式,要重建所有的內容頁,可以通過:
    >>>>在可以在每個產生的頁面內嵌入一個<script src=XXX.php?id=xxx&template=red></script>來判斷是否需要重建該頁面。

    >>>>apache 的ErrorDocument404 功能, 但是這裡前台連結是指向html的,如果該html不存在, 會通過apache的檔案不存在重新導向到404處理常式的功能重建html

       (註:httpd.conf加 ErrorDocument 404 /errprocess.php 指令), 利用這個功能可以解決修改網站樣式的時候,要更新所有產生的html檔案的問題,

        將整個static檔案夾刪除即可。

    b. 通過嵌入<script></script>js來調用php的方式,更改許多需要變化的地方(如點擊率之類的)

  2. 前台訪問連結指向php程式,php程式首先檢查是否存在相應的靜態檔案。如果靜態檔案不存在。則產生並重新導向至此檔案,否則直接重新導向。

   這種方法實際使用中一般和apache的url_rewrite功能一起使用。將php的檔案地址重顯示為html的形式,有利於搜尋引擎的檢索。

   這種方法在效率上略有損失,不過程式結構簡單,便於調整,在訪問量不是很大時使用很合適。
   
 注意事項: 

   所有產生的html檔案都集中放到一個檔案夾, 其中還應該注意組建檔案如果很多的話(如論壇),訪問其中一個htm檔案,將會變得很慢,

   那麼最好通過

   >>>>按日期來分隔檔案夾,如static/2004/11/18/0001.htm
   >>>>對文章id根據資料庫中欄位長度做str_pad:比方說id為123456,資料庫中為int(11),則id處理為00000123456,考慮到linux下一般同一下檔案到達四位元會有效能影響,對其做切割,最後路徑為static/00/000/123/456.html



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.