而這篇文章主要針對的是網站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訪問即可,設置完畢