ASP徹底成功實現偽靜態化html
這段時間在網上待的時間較多!為了查尋關於成功實現ASP動態內部實質意義的靜態化處置花了我的多不多時間,滿眼看了下,大部分數是過載而來,幾乎雷同,主要有以下幾種辦法:
1 用手續寫到硬盤.ASP FS對象的文件流處置.每個文章都有實際的途徑.假如要宣布數量多內部實質意義,則需求大容積空間,並且非常不好保護,改正都不便,益處在於減緩服務器的過訪負擔,容易被搜索引擎網站收錄,大大減損並避免黑客殲擊,稍有規模的網站都所有靜態化了,如新浪,搜狐等.
2 組件如ISAPI_Rewrite重寫.有自個兒服務器的站長還好辦,虛擬主機的朋友就稍麻煩,錯非煩請服務商安裝這個插件,再將手續參變量提交處理服務器成功實現轉化,看中去是靜態化了,其實是用靜態途徑過訪數值庫的內部實質意義.對於搜索引擎網站收益有一定效用.並且很多站長正是為此為苦苦尋覓.
3 第三種比較假就是把show.asp?id=26 轉成show.asp?/26.html這麼做或許對搜索引擎網站來說有些效用,然而防安全灌注一點兒效用也沒有.但只要做好防備辦公,這種辦法仍然比較適應大部分數虛擬主機的站長們.我這處就重點紹介運用第三種辦法來成功實現靜態化處置.
本實際的例子成功實現效果:
————–
一 准備辦公
在網站目次新建文件夾news,並新建一個主頁文件index.asp,數值庫data.mdb(字段id,Title,Content,)及ConnDB.asp
二 代碼成功實現
數值連署文件ConnDB.asp
百分之百 dim conn dbpath=data.mdb Set conn = Server.CreateObject(ADODB.Connection) connstr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Server.MapPath(dbpath) conn.open connstr If Err Then err.Clear Set conn = Nothing Response.Write 數值庫連署出錯,請稍候過訪。 Response.End End If ‘新聞閱覽板塊 Dim News_title,News_content Sub ReadNews() set rs1=server.createobject(adodb.recordset) sql1=select id,title,content from article where id= ID rs1.open sql1,conn,3,3 News_title=rs1(title) News_content=rs1(content) rs1.close set rs1=Nothing End Sub 百分之百 |
news-list.asp
!–#include file=ConnDB.asp– ol 百分之百 Set rs=server.CreateObject(adodb.recordset) sql=select * from Article rs.open sql,conn,1,1 do while not rs.eof 百分之百 lia href=news/?/百分之百=rs(id)百分之百.html百分之百=left(trim(rs(title)),30)百分之百/a/li _fcksavedurl=news/?/百分之百=rs(id)百分之百.html百分之百=left(trim(rs(title)),30)百分之百/a/li 百分之百 rs.movenext loop rs.close set rs=Nothing 百分之百 /ol |
好了,如今編著新聞正文閱覽頁面news/index.asp
index.asp
!–#include file=ConnDB.asp–
百分之百 |
這麼成功實現的效果如: 我們曉得Windows文件夾起名稱規則
是不准許裡面含有?的所以在這處只起視物感覺哄弄的效用.
一樣我們能否將?經過replace函數改換成這種效果: 呢?
這是我到現在為止總結概括出來的,准備用在我的主頁上,演習地址:(未完),當然,我信任會有更好的解決辦法,假如有興致的朋友請來本站交流.