1. 管理后臺添加記錄時,直接生成目標(biāo)html頁面,并且前臺調(diào)用連接直接指向生成的html頁面。這種方法程優(yōu)點(diǎn)是程序效率最高。
服務(wù)器負(fù)荷輕,不過由于生成的是純靜態(tài)頁面,一旦頁面樣式(模版及css=theme)上有所改動就必須重新生成所有的內(nèi)容頁。
所以實(shí)際使用中應(yīng)用一般不是太多。更多的是使用js,ssi,xml/xsl等客戶端手段,生成的靜態(tài)文件中僅保存數(shù)據(jù),不涉及樣式,
這樣能達(dá)到速度和維護(hù)性的平衡,不過相對前后臺程序要復(fù)雜些(應(yīng)用這種方法時,由于內(nèi)容為純靜態(tài),可以搭配單獨(dú)編譯的純靜態(tài)的apache使用。。效率和資源占用上比包含動態(tài)內(nèi)容支持的要更佳)
====
補(bǔ)充:
a. 上面說的改動樣式,要重新生成所有的內(nèi)容頁,可以通過:
>>>>在可以在每個生成的頁面內(nèi)嵌入一個<script src=xxx.php?id=xxx&template=red></script>來判斷是否需要重新生成該頁面。
>>>>apache 的errordocument404 功能, 但是這里前臺鏈接是指向html的,如果該html不存在, 會通過apache的文件不存在重定向到404處理程序的功能重新生成html
(注:httpd.conf加 errordocument 404 /errprocess.php 指令), 利用這個功能可以解決修改網(wǎng)站樣式的時候,要更新所有生成的html文件的問題,
將整個static文件夾刪除即可。
b. 通過嵌入<script></script>js來調(diào)用php的方式,更改許多需要變化的地方(如點(diǎn)擊率之類的)
2. 前臺訪問鏈接指向php程序,php程序首先檢查是否存在相應(yīng)的靜態(tài)文件。如果靜態(tài)文件不存在。則生成并重定向至此文件,否則直接重定向。
這種方法實(shí)際使用中一般和apache的url_rewrite功能一起使用。將php的文件地址重顯示為html的形式,有利于搜索引擎的檢索。
這種方法在效率上略有損失,不過程序結(jié)構(gòu)簡單,便于調(diào)整,在訪問量不是很大時使用很合適。
注意事項(xiàng):
所有生成的html文件都集中放到一個文件夾, 其中還應(yīng)該注意生成文件如果很多的話(如論壇),訪問其中一個htm文件,將會變得很慢,
那么最好通過
>>>>按日期來分隔文件夾,如static/2004/11/18/0001.htm
>>>>對帖子id根據(jù)數(shù)據(jù)庫中字段長度做str_pad:比方說id為123456,數(shù)據(jù)庫中為int(11),則id處理為00000123456,考慮到linux下一般同一下文件到達(dá)四位數(shù)會有性能影響,對其做切割,最后路徑為static/00/000/123/456.html
新聞熱點(diǎn)
疑難解答