ASP徹底實現偽靜態化html

來源:互聯網
上載者:User

仲介交易 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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.