国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
用靜態(tài)的URL地址顯示動態(tài)網(wǎng)頁內(nèi)容_惠'blog
動態(tài)生成的網(wǎng)頁在構(gòu)造真正大型的網(wǎng)站時是不可缺少的。但是,動態(tài)頁面的名字(即它的URL)往往缺乏明確的含義。例如,名為product.asp?Id=4的頁面總不如名為/applicances/dishwashers/Model3809.htm的頁面來得好記。本文介紹如何實(shí)現(xiàn)靜態(tài)頁面名字和動態(tài)頁面的映射。
概述
    靜態(tài)頁面名字除了具有含義更明確這一優(yōu)點(diǎn)之外,它的另外一個優(yōu)點(diǎn)在于搜索引擎能夠索引這些頁面。大多數(shù)搜索引擎,如Alta Vista和Yahoo,不會檢索URL中帶有問號的頁面,因?yàn)樗鼈儞?dān)心進(jìn)入永無止境的鏈接迷宮。把動態(tài)頁面名字轉(zhuǎn)換成靜態(tài)頁面名字之后,搜索引擎就會對這些頁面進(jìn)行索引和分類,從而為網(wǎng)站帶來更多的訪問量。
    要使用本文介紹的方法將動態(tài)名字轉(zhuǎn)換成靜態(tài)名字,你必須使用Windows 2000和IIS 5.0。IIS 5.0的兩個改進(jìn)使得我們可以實(shí)現(xiàn)這種轉(zhuǎn)換,它們是:使用Server.Transfer的“自定義錯誤信息”功能以及在ASP頁面中使用Server.Transfer的能力。雖然IIS 4.0也支持自定義錯誤信息,但它使用的是Response.Redirect,沒有用,所以本文方法要求使用IIS 5.0。Response.Redirect之所以沒有用,是因?yàn)樗阉饕娌粫冯S重定向。
    使用本文所介紹的方法,網(wǎng)站開發(fā)者先用靜態(tài)風(fēng)格的URL鏈接事實(shí)上并不存在的頁面。然后設(shè)置IIS服務(wù)器,告訴它要用指定的ASP頁面(404.asp)來處理網(wǎng)站上出現(xiàn)的所有404錯誤。在這個404.asp頁面里,把原來的URL轉(zhuǎn)換成正式的動態(tài)URL,利用Server.Transfer執(zhí)行并向用戶瀏覽器返回目標(biāo)頁面。
假設(shè)有如下URL:
http://www.myserver.com/applicances/dishwashers/kenmore/Model3809.htm
    其中myserver.com以網(wǎng)站的域名取代,該URL將返回404錯誤。我們首先要做的是用某個專用的.asp頁面來處理所有這些404錯誤。這可以用IIS 5.0的“自定義錯誤信息”功能來實(shí)現(xiàn)。設(shè)置該功能的過程如下:
●在MMC中打開IIS服務(wù)器管理器
●右擊Web網(wǎng)站節(jié)點(diǎn),然后選擇“屬性”
●點(diǎn)擊“自定義錯誤信息”頁
●向下滾動,直至找到404錯誤
●雙擊404錯誤,打開“錯誤映射屬性”對話框
●將消息類型改為URL
●在URL框輸入“/404.asp”
●點(diǎn)擊“確定”關(guān)閉窗口
    現(xiàn)在404錯誤已經(jīng)由404.asp處理了。當(dāng)IIS調(diào)用404.asp頁面時,它會提供導(dǎo)致這個404錯誤的URL,這對我們來說是非常有用的。
錯誤處理頁面
    接下來我們創(chuàng)建處理錯誤的404.asp頁面。首先要做的是獲得導(dǎo)致這個404錯誤的頁面名字。下面這行代碼從查詢字符串提取這個頁面的名字:
< %
'獲得頁面名字
strQ = Request.ServerVariables("QUERY_STRING")
% >
    那么,strQ中的哪些內(nèi)容才是重要的呢?在上例中它應(yīng)該如下所示:/applicances/dishwashers/kenmore/Model3809.htm。我們真正需要的只有其中的Model3809(產(chǎn)品型號),因?yàn)檫@是產(chǎn)品數(shù)據(jù)庫中的唯一鍵。下面這幾行代碼根據(jù)產(chǎn)品型號找出產(chǎn)品的ID(編號):
< %
' 計算產(chǎn)品型號
nIndex = InStrRev(strQ,"/")
If (nIndex >0) Then
strModelNumber = Right(strQ,Len(strQ)-nIndex)
strQ = Left(strQ,nIndex-1)
End If

' 從產(chǎn)品型號去掉.htm后綴
If ((Mid(strPageName,Len(strPageName),1)="m") And _
(Mid(strPageName,Len(strPageName)-1,1)="t") And _
(Mid(strPageName,Len(strPageName)-2,1)="h") And _
(Mid(strPageName,(strPageName)-3,1)=".")) Then

strModelNumber =Left(strPageName,Len(strModelNumber)-4)

End If

' 從產(chǎn)品數(shù)據(jù)庫查找產(chǎn)品編號
strSQL = "SELECT Product_Id FROM Product " _
& "WHERE Product_Model = '" & strModelNumber & "'"
Set oRS = oConn.Execute(strSQL)
If (Not oRS.EOF) Then
lProductId = oRS("Product_Id")
End If
% >
    現(xiàn)在我們得到了產(chǎn)品編號,在轉(zhuǎn)換到正確的ASP頁面之前必須先保存它。我們無法通過Server.Transfer在查詢字符串中傳遞產(chǎn)品編號(這是IIS的一個局限),因此必須通過Session對象來傳遞它。
< %
Session("Id") = lProductId
Server.Transfer("/product.asp")
% >
    執(zhí)行這個頁面時,瀏覽器地址欄中的內(nèi)容如下:
http://www.myserver.com/applicances/dishwashers/kenmore/Model3809.htm
由于使用了Server.Transfer,瀏覽器地址欄中的URL不會改變,同樣瀏覽器也不需要與服務(wù)器再交互一次,這與Response.Redirect是不同的。
    另外也請注意URL中的目錄是根本不存在的,事實(shí)上在這里URL中除了服務(wù)器名字之外的其余內(nèi)容根本不起什么作用。例如,下面的幾個URL都將返回同一頁面。
http://www.myserver.com/Model3809.htm
http://www.myserver.com/trucks/ford/Model3809.htm
    那么為什么要加上這么多目錄呢?這些目錄將提高搜索引擎對網(wǎng)站的評價。一些搜索引擎認(rèn)為URL中的單詞是比頁面標(biāo)題和正文更重要的搜索關(guān)鍵詞,所以目錄名字是非常重要的。
調(diào)用不存在的頁面
    我們已經(jīng)討論了將并不存在的URL轉(zhuǎn)換為有效動態(tài)URL的技術(shù)。然而,要讓搜索引擎能夠索引這些頁面,我們還需要鏈接這些并不存在的URL。換句話說,只有當(dāng)我們鏈接了Model3809.htm頁面后搜索引擎才會發(fā)現(xiàn)它。
以前鏈接這種頁面時我們只需按照如下方式給出產(chǎn)品編號:“product.asp?Id=4”。現(xiàn)在我們就來構(gòu)造一個以產(chǎn)品編號為參數(shù)返回恰當(dāng)URL的函數(shù)。
< %
Function CreateProductURL(lProductId)

strSQL = "SELECT Product_Model FROM Product " _ & "WHERE Product_Id =" & lProductId

Set oRS = oConn.Execute(strSQL)
If (Not oRS.EOF) Then
strModel = oRS("Product_Model")
End If

CreateProductURL = "/" & strModel & ".htm"

End Function
% >
    現(xiàn)在如果我們要加入URL,只需按照如下方式進(jìn)行:
< A HREF="< %=CreateProductURL(4)% >" >洗碗機(jī)< /A >
    本例我們假定不知道產(chǎn)品型號名稱,必須查詢數(shù)據(jù)庫才能得知。但在現(xiàn)實(shí)中可能并非如此,我們知道產(chǎn)品的型號名稱,可以直接創(chuàng)建URL而無需再次訪問數(shù)據(jù)庫。
性能問題
    本文所介紹的方法會明顯地影響性能。首先,為了創(chuàng)建靜態(tài)風(fēng)格的URL它需要一次數(shù)據(jù)庫調(diào)用。其次,為了從產(chǎn)生404的URL出發(fā)得到正確的URL,它還要增加一次額外的數(shù)據(jù)庫調(diào)用。最后,兩次Server.Transfer需要較大的開銷。
    不過,有些性能問題可以用XCache(www.postpointsoft.com)來解決。XCache能夠把出現(xiàn)404錯誤的URL轉(zhuǎn)換到正確的頁面,并緩存該信息以供后來的請求使用。
實(shí)例
    請訪問http://www.kulshan.com,這是一個應(yīng)用本文技術(shù)的例子。Kulshan.com的大多數(shù)分支頁面,如餐館、飯店的評論,都為了在搜索引擎中獲得更高的評價而使用了這種技術(shù)。Kulshan.com也使用了XCache。
小結(jié)
    利用IIS 5.0的自定義錯誤信息功能控制404錯誤可以為動態(tài)頁面制作出靜態(tài)頁面風(fēng)格的URL。只要無需創(chuàng)建這些靜態(tài)URL所用到的目錄和文件,那么應(yīng)該說創(chuàng)建這種既利于市場宣傳、也利于搜索引擎排位的URL是相當(dāng)簡單的。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
IIS實(shí)現(xiàn)偽靜態(tài)不需要Rewrite組件
asp.net實(shí)現(xiàn)URL重寫
asp.net的10個提升性能或擴(kuò)展性的秘密(一)
404面面跳轉(zhuǎn)IIS設(shè)置的簡單方法
ASP的Error對象知識簡析
An error occurred on the server when processing the URL解決方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服