亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

虛擬主機上用Asp.net實現Urlrewrite

添加時間:2010-11-17  添加: admin 
 在網上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle+Server.Transfer的方法。其實這種方法是錯誤的。第一,HttpHandle是實現不了urlrewrite的;第二Server.Transfer是標準的重定向,根本不是urlrewrite。

  其實,實現urlrewrite不用自己HttpHandle,也不用自己實現HttpModule,用幾行代碼就可以輕松實現。

  我這里介紹的是在虛擬主機上,虛擬主機不同于自己的服務器,你是沒有權限去修改IIS,也沒有權限去安裝iis rewrite之類的IIS插件。但是我們仍然可以輕松完成需要的功能。

  具體做法如下:打開global.asax.cs,定位到protected void Application_BeginRequest(Object sender, EventArgs e)。從方法名我想也能猜到它是做什么的。輸入如下代碼:

  

 

protected void Application_BeginRequest(Object sender, EventArgs e)
{ string oldUrl = HttpContext.Current.Request.RawUrl ;
string pattern = @"^(.+)default/(\d+)\.aspx(\?.*)*___FCKpd___0quot;;
string replace = "$1default.aspx?id=$2"; if(Regex.IsMatch(oldUrl,
pattern, RegexOptions.IgnoreCase   RegexOptions.Compiled))
{ string newUrl = Regex.Replace(oldUrl, pattern, replace,
RegexOptions.Compiled   RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl); }}



  有了上邊這段代碼,我訪問一個類似:.../default/123.aspx 的網址,當然這個網址在我的電腦上不存在,它就會被定向到:.../default.aspx?id=123。

  當然,利用功能強大的正則表達式,你可以任意按照自己的需要來重寫url,這一切都是在服務器端默默的進行,在客戶端是不會有任何察覺的。由于是在虛擬主機上,我們只能重定向.aspx文件,如果是自己的服務器,只要把后綴名在IIS中注冊一下,就可以實現任意后綴名的處理。比如你可以注冊一個*.myweb這樣的類型,這樣別人訪問default/456.myweb時,你可以把它重定向到default.aspx?id=456。總之一句話,只要你能想到.net就可以幫你實現,并且這一切不需要多少的代碼。

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站