色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

獲取ISAPI_Rewrite重寫后的URL

  ISAPI_Rewrite是一個較為好用的URL重寫組件,安裝和配置都比較簡單,防盜鏈的設置也極其簡單。

  問題

  如何獲取被ISAPI_Rewrite重寫后的URL。

  測試環境:IIS6中使用ISAPI_Rewrite對Default.ASPx進行重寫,重寫后的地址為:Index-After-ReWriter.html。

  需要獲取重寫后的地址,即Index-After-ReWriter.html。

  一些彎路

  首先想到的就是Request對象,如Request.UrlRequest.RawUrl。測試后發現獲取到的地址都是Default.ASPx。上網找了找ISAPI_Rewrite的處理流程圖,找到了下面這個圖片。

  那么再來看下IIS處理ASPx頁面的流程圖。

  在提交到ASP.NET模塊處理前,同樣都是ISAPI擴展ASPNET_isapi.dll和ISAPI_Rewrite.dll,從第一張圖中可以看出ISAPI_Rewrite.dll解析了重寫后的URL(即測試環境中的Index-After-ReWriter.html),即解析成Default.ASPx后再轉由ASPNET_isapi.dll進行處理。真的是這樣嗎?去IIS中去一看便知。

  注意是在IIS中的網站全局屬性中查看,如果需要使重寫模塊對單一的網站起作用那么需要單獨對網站進行設置。那么在Request對象中還會保存有重寫后的URL地址嗎?

  又上網找了找,正如博文當你的博客文章的作者變成“編輯整理”,你作何感想?中提到的一樣,帶來的一個現象是點了前兩頁獲取到的信息的都是這篇文章: 使用Request.RawUrl獲取當前請求重寫(UrlRewrite)后的Url

  我基本保持文章中提供的源代碼測試了下。

protected override void OnInit(EventArgs e)
{
    
string a = Request.ServerVariables["SCRIPT_NAME"];
    
//string b = Request.ServerVariables["QUERY_STRING"];
    
//string c = Request.Url.AbsoluteUri;
    
//string d = Request.ServerVariables["HTTP_URL"];
    string f = Request.Url.ToString();
    
base.OnInit(e);
}

NET技術獲取ISAPI_Rewrite重寫后的URL,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 新昌县| 景泰县| 和静县| 鞍山市| 治县。| 定远县| 襄樊市| 长宁县| 敦煌市| 东兰县| 栾城县| 察隅县| 那坡县| 建昌县| 宜兴市| 西藏| 井冈山市| 财经| 兴仁县| 定远县| 苍溪县| 靖远县| 云安县| 平果县| 比如县| 太原市| 静海县| 怀仁县| 大厂| 文昌市| 牙克石市| 台中市| 富平县| 延庆县| 桐梓县| 阜阳市| 秭归县| 三原县| 凤山市| 讷河市| 乐山市|