這篇文章是從小弟固定閱讀的電子報裡擷取出來的 ,因為覺得內容很實用 ,所以與大家分享 .

文章的版權歸屬原著作者所有 ,文章出處 ,請參閱文末 ,謝謝.  

 

 

轉址功能需求
實際開發上有時會用到轉址的功能,例如原本使用者瀏覽AA.aspx網頁,我們希望使用者看到的網頁內容是BB.aspx執行的結果,但是瀏覽器上的網址列還是AA.aspx。這種功能可以隱藏實際上瀏覽的網頁,瀏覽器上網址列看到的網址是個障眼法,降低有心人攻擊該網頁的風險。
 
轉址功能這個需求還有可能是因為網站內容龐大,各個內容網頁的網址相對地也會變比較長,使用者無法很容易記得那麼長那麼多網址,這時也可利用轉址功能讓使用者看到的超連結網址是較短的,例如在微軟網站上Visual Studio開發工具的介紹首頁是在 http://msdn.microsoft.com/zh-tw/vstudio/default.aspx ,但是實際上你只要在網址列輸入 http://www.microsoft.com/vs 就會自動轉址過去了。
 
想要做到類似的功能,簡單一點的作法可以寫程式做到,例如在AA.aspx的Page_Load事件撰寫下列程式:
Response.Redirect(“~/BB.aspx”)
Server.Transfer(“~/BB.aspx”)
不過需要動到程式就比較不方便點了,而且如果以後想取消轉址又得動到程式;另外,如果有很多網頁都有寫轉址的程式,到時候維護的難度就增加了。要不然就是利用IIS的管理介面來設定網頁的導向,不過萬一部署到另外一台伺服器時,這時相關的設定又必須要移植過去,也是有點麻煩。本篇會介紹新的轉址設定語法。
 
ASP.NET轉址設定小密技
ASP.NET V2.0版本以後有提供新的設定標籤,轉址功能可以在網站的Web.config檔案中做設定即可,範例如下:

<system.web>
  <urlMappings enabled="true">
    <add url="~/AA.aspx" mappedUrl="~/BB.aspx"/>
  </urlMappings>
</system.web>

或是

<system.web>
  <urlMappings enabled="true">
    <add url="~/vs" mappedUrl="~/VisualStudio/xx/CC.aspx"/>
  </urlMappings>
</system.web>

 
有了這樣的設定區段,隨時都能動態調整轉址功能,而且維護時也能統一管理,部署時也只需要複製和貼上即可,是個相當不錯的設定區段;不過要記得,ASP.NET V2.0以後版本才有支援這個設定喔。

原文出處...

作  者:許嘉仁 精誠資訊 恆逸教育訓練中心 資深講師
技術分類:程式設計


arrow
arrow
    全站熱搜

    Frank 發表在 痞客邦 留言(0) 人氣()