日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asp.net创建伪静态页面

發布時間:2023/12/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.net创建伪静态页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面是我研究了好幾天和同事一起才研究出來的,原創。

1偽靜態的定義:

??偽靜態是相對真實靜態來講的,通常我們為了增強搜索引擎的友好面,都將文章內容生成靜態頁面,但是有的朋友為了實時的顯示一些信息。或者還想運用動態腳本解決一些問題。不能用靜態的方式來展示網站內容。但是這就損失了對搜索引擎的友好面。怎么樣在兩者之間找個中間方法呢,這就產生了偽靜態技術。就是展示出來的是以html一類的靜態頁面形式,但其實是用ASP一類的動態腳本來處理的。

2偽靜態的實現:

? 2.1創建URL重寫類URLRewiter.cs 代碼如下:

? ? ?

1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Web; 5 using System.Web.Security; 6 using System.Web.UI; 7 using System.Web.UI.WebControls; 8 using System.Web.UI.WebControls.WebParts; 9 using System.Web.UI.HtmlControls; 10 namespace WebApplication1 11 { 12 public class URLRewiter : IHttpHandler 13 { 14 public URLRewiter() 15 { 16 // TODO: 在此處添加構造函數邏輯 17 } 18 public void ProcessRequest(HttpContext Context) 19 { 20 try 21 { 22 //取得原始URL屏蔽掉參數 23 string Url = Context.Request.RawUrl; 24 //建立正則表達式 25 System.Text.RegularExpressions.Regex Reg = new System.Text.RegularExpressions.Regex 26 (@"/show-(\d+)\..+", System.Text.RegularExpressions.RegexOptions.IgnoreCase); 27 //用正則表達式進行匹配 28 System.Text.RegularExpressions.Match m = Reg.Match(Url, Url.LastIndexOf("/"));//從最后一個“/”開始匹配 29 if (m.Success)//匹配成功 30 { 31 String RealPath = @"~/aspx/show.aspx?type=" + m.Groups[1]; 32 Context.Server.Execute(RealPath); 33 } 34 else 35 { 36 Context.Response.Redirect(Context.Request.Url.ToString()); 37 } 38 } 39 catch 40 { 41 Context.Response.Redirect(Context.Request.Url.ToString()); 42 } 43 } 44 45 /// <summary> 46 /// 實現“IHttpHandler”接口所必須的成員 47 /// </summary> 48 /// <value></value> 49 /// Author:yoyo 50 /// blog:http://yangmingsheng.cn 51 public bool IsReusable 52 { 53 get { return false; } 54 } 55 } 56 } View Code

? 2.2Web.Config的修改代碼如下:

? ?

1 <httpHandlers> 2 <add verb="*" path="*/show-?*.aspx" type="WebApplication1.URLRewiter" /> 3 <add verb="*" path="*/show-?*.html" type="WebApplication1.URLRewiter" /> 4 </httpHandlers>

目前為止在本地瀏覽已經沒有問題:

? ?http://localhost:56321/aspx/show.aspx----可以改為下面的地址效果一樣,代表本地已經成功。

? ?http://localhost:56321/aspx/show-9.html

?3接下來是IIS的配置。(我的是win7 ?32位系統 ? IIS7)

? ?3.1將你的程序發布到iis與平時發布一樣,看看能否訪問。

?

?

? ?

? 3.2選擇你的應用程序,雙擊中間的【處理程序映像】,進去后點擊右邊【添加腳本映射】如下圖:

? ? 請求路徑:*.html

? ? 可執行文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll(注意64位系統進Framework64文件夾)

? ? 名稱隨意:

? ??

3.3再點擊右邊的【添加通配符腳本映射】

? ?請求路徑不管,可執行文件同【處理程序映像】一樣,名稱也隨意。

4.目前為止已經配置成功,注意上面代碼配置的格式是show-9.html,就是減號后面只有一個整數,這個可以修改規則。

謝謝!

? ?

?

轉載于:https://www.cnblogs.com/Evan-Pei/p/3906659.html

總結

以上是生活随笔為你收集整理的Asp.net创建伪静态页面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。