程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net偽靜態配置備忘

asp.net偽靜態配置備忘

編輯:ASP.NET基礎
總之,感覺網站的URL上面有參數是一件很別扭的事情,一方面很容易被注入,另一方面,參數傳遞很容易洩露一些有用的信息。

而這篇文章主要針對的是網站URL顯示的偽靜態化,這樣就拋棄了直接生成純靜態頁的麻煩,而且能夠很好的保護用戶隱私,同時網站安全性也會有一定性能的提升。

主要操作過程如下:

首先,我們需要一個微軟的URLReWriter組件,這裡的下載地址我給提供下:

 http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

然後就是新建一個網站,然後通過“添加引用”把這個dll文件添加到項目中。

我建立的網站頁面是一個簡單的前台新聞發布系統,頁面如下:

然後就是列表頁面:

 

然後就是上面的標題為“3333333”的詳細信息顯示頁面,具體的顯示頁面為:

 

那麼針對這樣的頁面,我們來進行偽靜態化,首先是需要配置webconfig

如下圖所示:

 

 

要注意的就是其中的<LookFor></LookFor>和<SendTO></SendTO>節點,寫到LookFor節點中的URL路徑是對外公布的URL路徑,而SendTO節點中的URL路徑則是IIS進行解析的時候返回的真實的路徑。上圖中節點一部分就是只要是類似字母d後面跟數字的都交給NewsListaspx帶參返回解析;而節點二部分就是只要是類似字母dd後面跟數字的都交給NewsDetails.aspx帶參返回處理;而節點三就是把html請求頁面轉為aspx請求返回。

 

還需要在<HttpHandlers>節點下面添加如下模塊:

 

 

這些設置好後,但是我們的IIS默認是不能夠直接解析html後綴的(只要是沒添加),那麼就需要配置IIS,配置路徑如下:

打開IIS—》右擊網站—》屬性—》切換到“主目錄”標簽—》點擊“配置”按鈕—》切換到“映射”標簽—》雙擊“.aspx”,在彈出的窗口中,復制“可執行文件”後面的字符串—》單擊“添加”—》輸入拷貝的可執行文件路徑---à去掉“檢查文件是否存在”勾選框,最後應用即可。

 

配置完成後,在你的網站上面,只要類似有

<a href='NewsList.aspx?ID=<%#Eval(“ID”)%>'><%#Eval("Name") %></a>

修改成

<a href= d<%#Eval("ID") %>.html'><%#Eval("Name") %></a>

並且把

<a href='NewsDetails.aspx?NewsID=<%#Eval(“ID”)%>'><%#Eval("Title") %></a>

修改成

<a href='dd<%#Eval("ID") %>.html'><%#Eval("Title") %></a>

最後利用iis訪問即可,設置完畢

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved