標籤:

偽靜態網頁

e網輕歌 > 日誌 > 電腦作坊2008-11-11|偽靜態網頁

標籤: 網頁 偽靜態 動網論壇 ISAPI Rewrite

一般來講,網站的頁面分為靜態頁面和動態頁面兩種,靜態頁面的文件擴展名一般為.htm或.html,動態頁面的文件擴展名一般為.asp、.aspx、.php、.jsp或.shtml等等。

一、為什麼要設置偽靜態頁面 偽靜態頁面是相對靜態頁面而言,是一個偽裝成靜態頁面的動態頁面,例如將http://youname.com/index.php?a=1&b=2的頁面用http://yourname/index-htm-1-2.htm來表示。偽靜態頁面有兩個好處,首先是對搜索引擎友好,google的站長指南中有說,每個頁面至少要有一個靜態地址可以訪問,偽靜態URL可以當作URL來使,同樣內容的頁面,在搜索引擎來看,靜態地址要比動態地址權重高,因為搜索引擎認為動態地址不穩定,而且容易陷入鏈接的死循環,動態頁面是搜索引擎優化的大忌。其次,偽靜態頁面可以將頁面地址偽裝成很短的地址,如上面的地址,可以設置成偽靜態地址http://yourname/1/2,便於訪問者識別,對訪問者友好,從心理學角度,用戶更喜歡訪問http://yourname/1/2的網址,而不喜歡訪問http://youname.com/index.php?a=1&b=2的網址。

動態網頁的偽靜態技術由於搜索引擎還無法正確讀取帶參數的動態網頁內容,造成網頁中很多具有豐富信息的頁面無法給搜索引擎收錄,現在很多大型的網站都採用了動態網頁生成靜態網頁的技術,消除動態網頁中的參數,使搜索引擎收錄更多的內容,達到優化的效果,(需要了解asp.net生成靜態網頁的技術,請看本站的asp.net批量生成靜態網頁)。生成靜態網頁確實可以很好的解決搜索引擎收錄的問題,但是可能又遇上了量一個問題,就是隨著網站數據的增多,生成的靜態網頁佔了很多的空間,管理起來也不是很方便,會造成大量的磁碟空間開銷,現在該怎麼辦呢?再繼續買更大的網路空間來存放這些數據?還是放棄這個方法呢?:-),還好,聰明的程序員又想出了新的解決方法,這個就是動態網頁偽靜態技術了,為什麼說是偽靜態呢?是因為這個並不是真正的靜態網頁,而是通過某些技術,把網頁的url重寫,同樣是消除了動態網頁中的參數,但是並不需要生成任何網頁,不必要另外佔用新的磁碟空間,但是能給搜索引擎看起來像是一個靜態的網頁,以達到靜態網頁同樣的效果。

靜態頁面的優點是訪問速度快,但缺點是內容更新不方便,而且不能實現網站與用戶之間的交互。 動態頁面根據其功能可以分為互動式動態頁面和廣播式動態頁面。互動式動態頁面在功能上一般來講是靜態頁面代替不了的,而廣播式動態頁面在功能上與靜態頁面相似,只是單向地向用戶展現網頁的信息,在功能上是可以用靜態頁面代替的,採用廣播式動態頁面的目的是通過腳本實時從資料庫中讀取信息生成網頁內容,在程序開發及信息發布上都非常方便,但缺點是並發性差,因為用戶每次訪問時均需要訪問資料庫,而頁面的內容卻可能一個月都不會更新一次,這對於網站的經營者、ISP運營商和用戶來講,都沒有好處,因此只適用於訪問量很少的網站,通常大型網站都是通過網頁發布系統及設計相關網頁模板來生成靜態頁面,但這種方法的問題是成本太高(通常網頁發布系統的價格都比較昂貴),而且網頁模板的設計又不符合通常的動態頁面腳本編程習慣,很難為小型網站的開發所使用。 以下介紹一種提高網站的訪問速度的偽靜態頁面技術,它在形式上是對廣播式動態頁面進行優化,性能上可以接近或達到網頁發布系統的效果。

二,動網論壇如何生成偽靜態網頁

ISAPI Rewrite的安裝與使用Wikipedia,自由的百科全書ISAPI_Rewrite是一個強大的基於正則表達式的URL處理引擎。它非常類似於Apache"s mod_Rewrite,但它是專為IIS設計的。

ISAPI_Rewrite有兩個版本:ISAPI_Rewrite Full與ISAPI_Rewrite Lite。

ISAPI_Rewrite Lite是免費版本,但不支持反向代理功能。

ISAPI_Rewrite Full只能下載到30天的試用版本。

首先到 http://www.helicontech.com/download/ 下載一個ISAPI Rewrite的安裝包,Lite免費版本ISAPI_Rewrite Lite (freeware)即可。

安裝運行後,打開管理工具中Internet信息管理(IIS管理),在網站單擊右鍵選屬性,IIS的ISAPI設置中加入ISAPI_rewrite lite安裝目錄的ISAPI_Rewrite.dll。

按照默認安裝的位置,可以在 C:Program FilesHeliconISAPI_Rewrite 找到 httpd.ini 在此文件中輸入Rewrite的規則即可。

找到它的安裝目錄,一般在C:Program FilesHeliconISAPI_Rewrite下

找到httpd.ini文件,打開它,在文本後面加上如下代碼:# 重寫index.asp RewriteRule /index_(d+)_(d*)_(.*)_(d*).html /index.asp?boardid=$1&topicmode=$2&list_type=$3&page=$4 [N,I] RewriteRule /index_(d+)_(.*)_(d*)_(.*)_(d*).html /index.asp?boardid=$1&action=$2&topicmode=$3&list_type=$4&page=$5 [N,I] RewriteRule /index_(d+)_(.*)_(d*)_(d*).html /index.asp?boardid=$1&action=$2&topicmode=$3&page=$4 [N,I] RewriteRule /index_(d+)_(d*)_(.*).html /index.asp?boardid=$1&page=$2&action=$3 [N,I] RewriteRule /index_(d+)_(d*).html /index.asp?boardid=$1&topicmode=$2 [N,I] RewriteRule /index_(d+)_(d*)_.html /index.asp?boardid=$1&page=$2 [N,I] # RewriteRule /index_(d+)__.html /index.asp?boardid=$1 [N,I] RewriteRule /index_(d+).html /index.asp?boardid=$1 [N,I] RewriteRule /index.html(.*) /index.asp [N,I] # 重寫dispbbs.asp RewriteRule /dispbbs_(d+)_(d*)_(d*)_skin(d*)_(d*)_(d*).html /dispbbs.asp?boardid=$1&replyid=$2&id=$3&skin=$4&page=$5&star=$6 [N,I] RewriteRule /dispbbs_(d+)_(d*)_(d*)_skin(d*)_(d*).html /dispbbs.asp?boardid=$1&replyid=$2&id=$3&skin=$4&star=$5 [N,I] RewriteRule /dispbbs_(d+)_(d*)_(d*)_skin(d*).html /dispbbs.asp?boardID=$1&replyid=$2&ID=$3&skin=$4 [N,I] RewriteRule /dispbbs_(d+)_(d*)_(d*)_(d*).html /dispbbs.asp?boardID=$1&ID=$2&page=$3&star=$4 [N,I] RewriteRule /dispbbs_(d+)_(d*)_(d*)_(w+).html /dispbbs.asp?boardID=$1&ID=$2&page=$3&move=$4 [N,I] RewriteRule /dispbbs_(d+)_(d*)_(d*).html /dispbbs.asp?boardID=$1&ID=$2&page=$3 [N,I] RewriteRule /dispbbs_(d+)_(d*).html /dispbbs.asp?boardID=$1&ID=$2 [N,I]# 重寫dv_rss.asp RewriteRule /dv_rss_(.*)_(d+)_(d+)_(d+)_(d+)_count(d+).html /dv_rss.asp?s=$1&boardid=$2&id=$3&page=$4&star=$5&count=$6 [N,I] RewriteRule /dv_rss_(.*)_(d+)_(d+)_(d+)_(d+).html /dv_rss.asp?s=$1&boardid=$2&id=$3&page=$4&star=$5 [N,I] RewriteRule /dv_rss_(.*)_(d+)_(d+)_(d+).html /dv_rss.asp?s=$1&boardid=$2&id=$3&page=$4 [N,I] RewriteRule /dv_rss_(.*)_(d+)_(d+)_count(d+).html /dv_rss.asp?s=$1&boardid=$2&page=$3&count=$4 [N,I] RewriteRule /dv_rss_(.*)_(d+)_(d+).html /dv_rss.asp?s=$1&boardid=$2&page=S3 [N,I] RewriteRule /dv_rss_(.*)_(d+).html /dv_rss.asp?s=$1&boardid=$2 [N,I] RewriteRule /dv_rss_(.*).html /dv_rss.asp?s=$1 [N,I] RewriteRule /dv_rss(.*).html(.*) /dv_rss.asp [N,I]

好了,這時保存一下,把這個httpd.ini文件上傳至你的空間根目錄下,就行了。大功告成一半。、

接下來,把8.2裡面的CONN.asp文件進行修改一下,修改IsUrlreWrite=0 改為 IsUrlreWrite=1

至此,動網論壇已經編程偽靜態網頁了。

推薦閱讀:

每日輕鬆一刻(3月24日晚間)20140324|網頁版
酒桌上的禮儀常識-搜狗網頁
網頁字體特效代碼大全
照葫蘆畫瓢抓數據1:用sublime和網頁源代碼提取數據
HTML

TAG:網頁 |