這篇文章給大家分享的是有關(guān)ASP.NET怎么實(shí)現(xiàn)url重寫的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
新建ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
來(lái)找這篇文章的,應(yīng)該都知道什么叫二級(jí)域名吧,廢話就不說(shuō)了。但是討論前,先要明白一個(gè)思想問(wèn)題。很多朋友一直考慮不清(我前幾天也一直搞不明白)的問(wèn)題是,我鍵入一個(gè)地址后,怎么這個(gè)就被ASP.NET url重寫了?
***步:在瀏覽器鍵入了一個(gè)地址,比如http://love.kerry.com,點(diǎn)回車后,都發(fā)生了什么?為了把問(wèn)題簡(jiǎn)單化,我來(lái)這樣解釋
第二步:首先,鍵入的地址被解析,最終來(lái)到了一臺(tái)web服務(wù)器。交給IIS處理。在ASP.NET的世界中,IIS會(huì)把這樣的請(qǐng)求再交給一個(gè)web處理器 處理,***,該 web處理器 把處理的結(jié)果返回給瀏覽器,顯示給用戶看。
請(qǐng)不用忽略這樣一個(gè)問(wèn)題,第二步的所有事情都是在服務(wù)器端做的。在這些事情進(jìn)行的時(shí)候,用戶端的瀏覽器上面的地址不會(huì)改變。即使*** web處理器 把處理結(jié)果返回來(lái)的時(shí)候,上面的地址也不會(huì)改變。一開始鍵入的url,只是起一個(gè)敲門的作用,門敲完了,作用就算結(jié)束了,只有你的眼睛可以看到那個(gè)地址,瀏覽器,服務(wù)器等都不知道這個(gè)地址。然后要明白的問(wèn)題是,所謂ASP.NET url重寫,也只是web開發(fā)人員知道的內(nèi)幕情況,用戶根本不知道發(fā)生了什么,他認(rèn)為自己鍵入的地址就是應(yīng)該出來(lái)屏幕上顯示的結(jié)果。也就是說(shuō),我們?cè)谀缓罂刂埔@示的內(nèi)容。接下來(lái)要考慮的是,怎么樣控制顯示的內(nèi)容?
從上面說(shuō)的過(guò)程,很明顯要在 web處理器 的工作這一步動(dòng)手腳。
一個(gè)最簡(jiǎn)單的考慮是,用戶敲入了一個(gè)簡(jiǎn)單的不帶任何參數(shù)地址, http://love.kerry.com然后我們把這個(gè)地址改成一個(gè)符合程序需要的帶參數(shù)的地址, http://kerry.com?lover=notus,***處理之。
所謂的ASP.NET url重寫,就是在這一步。用.net的術(shù)語(yǔ)來(lái)說(shuō),我們需要給應(yīng)用程序注冊(cè)一個(gè)httpmodule,用來(lái)處理特定的url注冊(cè)httpmodule,在web.config,處理url,在我們提供的httpmodule程序中大體相當(dāng)于這樣的一段程
//用我們的httpmodule程序截獲原始url String OriginalUrl=” http://love.kerry.com”; //處理原始url,得到***需要的url,值為http://kerry.com?lover=notus String FinalUrl=Rewrite(OriginalUrl); // context重新將url在內(nèi)部發(fā)送給IIS處理 context.RewritePath(FinalUrl);
接下來(lái),我們來(lái)實(shí)現(xiàn)ASP.NET url重寫。
***步:確定要對(duì)哪些url執(zhí)行重寫,即制定重寫規(guī)則
第二步:編寫httpmodule處理程序
第三步:將編寫的httpmodule整合入web程序,開始工作。
上面就是ASP.NET url重寫的基本知識(shí),而用ASP.NET url重寫實(shí)現(xiàn)二級(jí)域名,過(guò)程一樣。因?yàn)闊o(wú)論是二級(jí)域名還是三級(jí)域名,都是一個(gè)url地址。只要我們截獲這個(gè)url地址,就可以在處理的時(shí)候動(dòng)手腳。
在實(shí)施過(guò)程中會(huì)碰到一些問(wèn)題,大多是因?yàn)榭瓷厦娴奈恼虏蛔屑?xì)產(chǎn)生的,但是說(shuō)實(shí)話,那么長(zhǎng)的文章要看完也不容易。下面我來(lái)記錄一些重要的問(wèn)題。其中***的兩個(gè)問(wèn)題,用具體的代碼展示了如何處理重寫的目標(biāo)url以達(dá)到我們的要求
為什么非要用泛解析?
看了好多朋友的回復(fù),我想現(xiàn)在可能有這樣的誤解,即,這篇關(guān)于ASP.NET url重寫的文章只是給大家介紹一些處理方法。至于泛解析不泛解析,并不重要。
如果你不需要實(shí)現(xiàn)任意二級(jí)域名,那就用不著去實(shí)現(xiàn)泛解析,直接把你需要的二級(jí)域名定死,然后在ASP.NET url重寫里處理好了!再退一步,如果連二級(jí)域名都不用實(shí)現(xiàn),僅僅是對(duì)一個(gè)固定域名下的url進(jìn)行重寫,那都不需要修改msdn的那個(gè)urlrewriter,直接拿來(lái)用就可以實(shí)現(xiàn)了簡(jiǎn)單的ASP.NET url重寫。 zyw對(duì)這個(gè)項(xiàng)目進(jìn)行的修改,只是為了取到全部的url進(jìn)行更大限度的控制。而如我們所見,一開始msdn的那個(gè)urlrewriter并不關(guān)心域名的問(wèn)題,
感謝各位的閱讀!關(guān)于“ASP.NET怎么實(shí)現(xiàn)url重寫”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)頁(yè)名稱:ASP.NET怎么實(shí)現(xiàn)url重寫
本文鏈接:http://aaarwkj.com/article26/gooccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、云服務(wù)器、網(wǎng)站排名、搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)