|
如何快速生產(chǎn)HTML網(wǎng)頁及實現(xiàn)網(wǎng)頁靜態(tài)化 原理 網(wǎng)頁靜態(tài)化就是將ASP或PHP網(wǎng)頁以HTML形式存放在服務(wù)器上,可以減輕服務(wù)器的負(fù)擔(dān),同時也更有利于搜索引擎收錄,當(dāng)然,更新可能有些麻煩。 最簡單的方法就是使用XMLHTTP組件讀取ASP或PHP網(wǎng)頁,然后將讀取到的內(nèi)容保存成HTML,當(dāng)然,該網(wǎng)頁內(nèi)容的鏈接也應(yīng)做相應(yīng)的修改。(此方法適用于首頁或列表頁等小量的文件生成) 如果是批量的文章,用上面的方法,就會需要很多的時間來生成,而且加重服務(wù)器的負(fù)擔(dān),以文章系統(tǒng)中,大家經(jīng)??吹接心0妫麄兙褪菫榱诉m用于批量文件生成的(我的說法,呵呵),而且這樣也很方法進(jìn)行風(fēng)格修改。模版和普通的網(wǎng)頁基本上沒有區(qū)別,只是在原來是文章標(biāo)題的地方使用特殊的標(biāo)志,如{標(biāo)題},{內(nèi)容}等,在批量生成的時候,只需從數(shù)據(jù)庫中讀取文章內(nèi)容,替換掉特殊標(biāo)志,再保存成HTML網(wǎng)頁,即完成了HTML靜態(tài)化,當(dāng)然,網(wǎng)頁的鏈接一般要保證正確。 代碼,簡單的批量HTML文章生成示例,view.asp為模版頁,生成的HTML以文單ID.HTM保存在當(dāng)前目錄下面。 View.asp中可以只有{標(biāo)題}{內(nèi)容},程序會替換成相應(yīng)的內(nèi)容,實際制作中界面自己制作。 <% set rs=Server.CreateObject("ADODB.RecordSet") sql="select * from News" rs.open sql,conn,3,3 if not rs.EOF then Url = "http://127.0.0.1/view.asp?id="&rs("Newsid") '模版頁 SourceCode = GetUrl(url) end if do while not rs.EOF pencat=sourcecode pencat=replace(pencat,"{標(biāo)題}",rs("title")) pencat=replace(pencat,"{內(nèi)容}",rs("content")) Set fso = Server.CreateObject("Scripting.FileSystemObject") filepath=rs("Newsid")&".htm" '生成的HTML網(wǎng)頁 Set fout = fso.CreateTextFile(server.mappath(filepath)) fout.WriteLine pencat set fout=nothing set fso=nothing rs.movenext loop rs.close set rs=nothing Function bytes2BSTR(vIn) strReturn = "" For i = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn,i,1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else NextCharCode = AscB(MidB(vIn,i+1,1)) strReturn = strReturn & Chr (CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) i = i + 1 End If Next bytes2BSTR = strReturn End Function Function GetURL(url) Set Retrieval = CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "GET", url, False .Send GetURL = bytes2bstr(.responsebody) '對取得信息進(jìn)行驗證,如果信息長度小于100則說明截取失敗 if len(.responsebody)<100 then response.write "獲取遠(yuǎn)程文件 <a href="&url&" target=_blank>"&url&"</a> 失敗。" response.end end if End With Set Retrieval = Nothing End Function %> |
|
|