仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳
這段時間在網上待的時間較多!為了查找關於實現ASP動態內容的靜態化處理花了我的多少時間,到處看了下,大多數是轉載而來,幾乎雷同,主要有以下幾種方法:
1 > 用程式寫到硬碟. ASP FS物件的檔流處理.每個文章都有實際的路徑.如果要發佈大量內容,則需要大容量空間,而且不好維護,修改都不方便,好處在於減輕伺服器的訪問負擔,容易被搜尋引擎收錄,大大減少並防止駭客攻擊,稍有規模的網站都全部靜態化了 ,如新浪,搜狐等.
2 > 元件如ISAPI_ Rewrite重寫.有自己伺服器的站長還好辦,虛擬主機的朋友就稍麻煩,除非請求服務商安裝這個外掛程式,再將程式參數提交伺服器實現轉化,看上去是靜態化了,實際上是用靜態路徑訪問資料庫的內容.對於搜尋引擎收入有一定作用.而且許多站長正是為此為苦苦尋找 .
以上兩種方法俱體怎麼做,大家上網搜索一下就會發現一大把....
3 >第三種比較假就是把show.asp?id=26 轉成show.asp?/26.html這樣做也許對搜尋引擎來說有點作用, 不過防安全注入一點作用也沒有.但只要做好防範工作,這種方法還是比較適合大多數虛擬主機的站長們.我這裡就重點介紹使用第三種方法來實現靜態化處理.
本實例實現效果:HTTP://faninfo.cn/news.asp?id=201轉換成
HTTP://faninfo.cn/news/?/201.html
(轉載請注明起步者博客faninfo.cn/blog)
--------------
一 準備工作
在網站目錄新建資料夾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
%>
<li><a 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"-->
<%
id=request. QueryString("id")
If id="" Then
Pater=Request.ServerVariables("query_string")
id=Int(replace(replace(Pater,"/",""),".html","")) 'replace替換函數,如將html和/替成空的
End If
Call ReadNews()
%>
<div>
<b><%= News_title%></b><br /> '主題
<%=News_content%> '正文
</div>
這樣實現的效果如:HTTP://www.faninfo.cn/news/?/201.html 我們知道Windows資料夾命名規則
是不允許包含?的所以在這裡只起視覺欺騙的作用.
同樣我們能否將?通過replace函數轉換成這種效果:HTTP://www.faninfo.cn/news/read/201.html 呢?
這是我目前總結出來的,準備用在我的首頁上,演示位址:HTTP://www.faninfo.cn(未完),當然,我相信會有更好的解決方法,如果有興趣的朋友請來本站交流.
(轉載請注明起步者博客/blog HTTP://faninfo.cn)