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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring 管理Bean(獲取Bean,初始化bean事件,自動匹配ByName······等)

1.實例化spring容器 和 從容器獲取Bean對象 實例化Spring容器常用的兩種方式&#xff1a; 方法一: 在類路徑下尋找配置文件來實例化容器 [推薦使用] ApplicationContext ctx new ClassPathXmlApplicationContext(new String[]{"beans.xml"}); 方法二: 在文件系統路徑…

directoryinfo 讀取 映射磁盤_LoaRunner性能測試系統學習教程:磁盤監控(5)

上期我們講到LoaRunner性能測試內存監控&#xff0c;這期我們講LoaRunner性能測試磁盤監控。磁盤監控在介紹磁盤監控前&#xff0c;先介紹固定磁盤存儲管理的性能&#xff0c;固定磁盤存儲器的結構層次如圖所示。每個單獨的磁盤驅動器稱為一個物理卷&#xff08;PV&#xff09;…

Eclipse新建web項目正常啟動tomcat不報錯,但不能訪問項目的解決方法

原因: 雖然我手動添加了自己下載的tomcat,但是由于在Eclipse中創建Server時&#xff0c;“Server Locations”選項采用的時默認配置&#xff0c;即"Use workspace metadata(does not modify tomcat installation ),這意味著該Server不會改變TOMCAT的安裝及部署目錄&#…

oracle10g執行insert,oracle 10g 增強審計。表insert 及bind values

oracle 10g之前&#xff0c;可以審計對表的操作&#xff0c;但不能記錄操作時的各個列的值。在10g中&#xff0c;已經可以審核并監控到具體的sql語句及內容了。要求10g以后的版本。alter system set audit_traildb_extended scopespfile;[more]示例&#xff1b;SQL> show us…

點擊按鈕 變換圖片

<html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>變換圖片</title><script type"text/javascript">function chan…

[鄰接表] 學習鄰接表的表示方法+BFS

算法導論上面的偽代碼實現哦&#xff0c;沒啥技術&#xff0c;不過這個鄰接表表示法&#xff08;figo大神教的&#xff09;很nice。 簡單說一下&#xff0c;head里面是放著自己節點后面鏈的最后一個元素在邊池中的位置&#xff0c;邊池里面成一個一個鏈狀&#xff0c;像并查集&…

wordpress漏洞_WordPress XSS漏洞可能導致遠程執行代碼(RCE)

原作者&#xff1a; Ziyahan Albeniz在2019年3月13日&#xff0c;專注于靜態代碼分析軟件的RIPS科技公司發布了他們在所有版本的WordPress 5.1.1中發現的跨站點腳本(XSS)漏洞的詳細信息。該漏洞已在不同類別的各種網站上公布。有些人將其歸類為跨站點請求偽造(CSRF)漏洞&#x…

centOS 6環境下安裝R-3.3.2及Rstudio-server

【編譯R語言】 1、下載安裝R語言 # 下載R-3.3.2 $ wget https://cran.r-project.org/src/base/R-3/R-3.3.2.tar.gz# 安裝R-3.3.2 $ tar -zxvf R-3.3.2.tar.gz $ cd R-3.3.2# 安裝到默認目錄下 --perfix/opt/R 或 /usr/local/lib64/R $ ./configure --prefix/opt/R --with-re…

DJ輪回舞曲網下載教程

該網站網址為&#xff1a;http://www.92cc.com/ 昨天有網友問我這個網站能不能下載。我告訴他&#xff0c;只要能在線試聽的就能下載 于是今天出個臨時教程 教大家如何獲取試聽的音樂URL。 第一步找到試聽的網址&#xff0c;如&#xff1a; http://www.92cc.com/p97206.html 第…

【DP】【Asia - Harbin - 2010/2011】【Permutation Counting】

【題目描述】Given a permutation a1, a2,...aN of {1, 2,..., N}, we define its E-value as the amount of elements where ai > i. For example, the E-value of permutation {1, 3, 2, 4} is 1, while the E-value of {4, 3, 2, 1} is 2. You are requested to find h…

三豐三坐標編程基本步驟_三豐三坐標CRYSTA APEX S776

日本三豐MITUTOYO從1934年成立至今&#xff0c;專力致于精密測量儀器的研發和生產&#xff0c;在七十多年中&#xff0c;日本三豐量具MITUTOYO已成為世界最大綜合測量儀器的制造商&#xff0c;它生產的產品包括千分尺&#xff0c;卡尺&#xff0c;千分表&#xff0c;高度尺&…

oracle的文件后綴名,轉:數據文件的擴展名是ora,dbf,dat的,有什么區別?

只是通過擴展名來標識文件的類型而已&#xff0c;對于數據文件不管是ora/dat/dbf&#xff0c;都是一樣的&#xff0c;沒有什么區別。.dbf-數據文件&#xff0c; .tmp-臨時文件&#xff0c;.log-重作日志文件(redo log file)&#xff0c; .ctl-控制文件.ora-參數文件&#xff0c…

Unity3D研究院之Android同步方法讀取streamingAssets

版本Unity5.3.3 Android 小米pad1 首先非常感謝 守著陽光 同學在下面的留言。讓我解決了一個大的謎團。。 開始我知道 StreamingAssets 路徑是這個 path “jar:file://” Application.dataPath “!/assets/”; 文檔在這里&#xff1a; http://docs.unity3d.com/Manual/Strea…

Codeforces Round 261 Div.2 D Pashmak and Parmida's problem --樹狀數組

題意&#xff1a;給出數組A&#xff0c;定義f(l,r,x)為A[]的下標l到r之間&#xff0c;等于x的元素數。i和j符合f(1,i,a[i])>f(j,n,a[j])&#xff0c;求有多少對這樣的(i,j). 解法&#xff1a;分別從左到右&#xff0c;由右到左預處理到某個下標為止有多少個數等于該下標&…

JQuery AJAX提交中文亂碼的解決方案

$.post(doSearch.action, {page : page,vip : vip,searchType : searchType,subtype : subtype,type : type,contentType: "application/x-www-form-urlencoded; charsetutf-8", keyword : keyword}, function(data) //回傳函數{var val;}); 解決這個中文亂碼問題&am…

列舉ospf的5種報文類型_危險品貨物各種包裝類型以及裝箱技巧

對于危險貨物來說&#xff0c;其危險性的大小除與貨物的本身性質有關外&#xff0c;還與貨物的包裝方式密切相關。因而&#xff0c;危險貨物進箱條件的確定&#xff0c;也必須考慮到貨物的包裝方法。一、集裝箱內徑20GP內徑&#xff1a;長5.8M*寬2.34M*高2.34M40GP內徑&#xf…

linux一行多個命令行,如何在一行中運行多個Linux命令

對于每個Linux管理員來說&#xff0c;熟練使用各種命令行是他們的特性。但對于普通用戶來說&#xff0c;可能還是有難度&#xff0c;您需要繼續練習Linux命令&#xff0c;并找到使該任務更有效的方法。實現這個特定目標的一種方法是學習一些技巧&#xff0c;這些技巧可以提高發…

Java 數組基礎

數組 數組&#xff08;Array&#xff09;&#xff1a;相同類型數據的集合。 定義數組 方式1&#xff08;推薦&#xff0c;更能表明數組類型&#xff09; type[] 變量名 new type[數組中元素的個數]; 比如&#xff1a; int[] a new int[10]; 數組名&#xff0c;也即引用a&…

車輛跟馳模型matlab代碼實現_MATLAB——考慮駕駛員特性及前車速度的快速路模型...

重發一下之前誤刪的一篇~目前大多數元胞自動機模型并沒有考慮前車速度&#xff0c;大多數同向行駛的模型中車輛都是處在一個完全跟車的狀態&#xff0c;無論前車是加速還是減速&#xff0c;后車駕駛者都只是根據自己的車速判斷是減速跟馳還是變換車道來尋求尋求更合理的行駛狀態…

linux nc命令

參考 :http://www.linuxso.com/command/nc.html NC 全名 Netcat (網絡刀)&#xff0c;作者是 Hobbit && ChrisWysopal。因其功能十分強大&#xff0c;體積小巧而出名&#xff0c;又被大家稱為“瑞士軍刀”。nc - TCP/IP swiss army knife nc 常用于溢出、反向鏈接、上傳…