Site Meter & 線上人數

tracker

部落格觀察


我的噗浪

Google Latitude

微軟認證



聯絡我 - MSN & Skype & Email



最新回應

簡易的 Url Rewriting 隱藏 Querystring (二) IIS 注意事項

2008/4/19 17:27| 閱讀數 : 4494 | 2 人收藏 我要推薦 | 2 Comments | 文章分類: ASP.Net IIS Library 訂閱

在上一次介紹【簡易的 Url Rewriting 隱藏 Querystring】文章中,介紹如何使用 來隱藏 QueryString,如果有試著嘗試 Url Rewriting 或是眼尖的網友,會可能會發現我沒有對 IIS 另外做一些設定。

其實,在 IIS 中我少了在【應用程式設定】設定【應用程式副檔名設定】。少了這一項設定,就會發生一些情況,

UrlRewriting-0000 UrlRewriting-0001

例如:

<rewriter>
  <rewrite url="~/Books/(\d+)/Default.html" to="~/Books.aspx?bookID=$1"/>
</rewriter>

 

以上面這段語法來說,表示如果程式將頁面導向 http://localhost/TestSite35/Books/456/Default.html 的網址,其實真正執行頁面得程式是在 http://localhost/TestSite35/Books.aspx?bookID=456 。可是,當我們程式去執行時卻不如我們所預期,會出現以下錯誤畫面:

UrlRewriting-0002 

這是因為 IIS 不知道 .html 副檔名的頁面,其實是 ASP.Net 2.0 要去處理的頁面,何況我們根本也沒有 Default.html 這個頁面,當然會發生問題。


以下開始講解如何設定 IIS 設定

以 Windows XP Professional 版本 IIS 5.1 版本來說明。打開 IIS 管理員,然後在虛擬目錄上按下滑鼠右鍵,並選擇【內容】

UrlRewriting-0003

然後在【虛擬目錄】Tab 頁面,點擊【應用程式設定】【設定】按鈕,然後會出現【應用程式設定】視窗。

UrlRewriting-0000 UrlRewriting-0001


Windows Server 2003 Professional 版本以上, IIS 6.0 環境設定,打開 IIS 管理員,然後在欲設定的網站上按下滑鼠右鍵,並選擇【內容】

UrlRewriting-0006

然後在【主目錄】Tab 頁面,點擊【應用程式設定值】【設定】按鈕,然後會出現【應用程式設定】視窗。

UrlRewriting-0007 UrlRewriting-0008


【應用程式設定】視窗中,點擊【新增】按鈕,然後增加對【.html】檔案的處理對應:

  1. 執行檔案,利用【瀏覽】按鈕填入【C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
  2. 副檔名,填入【.html】
  3. 指令動詞,限制於填入【GET,HEAD,POST,DEBUG
  4. 勾選【指令碼引擎】
  5. 取消勾選【檢查該檔案是否存在】
  6. 按下【確定】按鈕即可

UrlRewriting-0004

這時,我們重新執行我們的頁面,Url Rewriting 的功能又出現了:

UrlRewriting-0005

DotBlogs Tags: ASP.NET chhuang IIS Library


關連文章

回應

  • dotjum 2008/4/19 下午 03:55 回覆

    # re: 簡易的 Url Rewriting 隱藏 Querystring (二) IIS 注意事項

    chhuang 兄,寫得那麼詳細,怎麼不發到首頁給更多朋友能夠學習。

  • william 2009/6/11 下午 02:37 回覆

    # re: 簡易的 Url Rewriting 隱藏 Querystring (二) IIS 注意事項

    我在網頁上使用了UrlRewriter。
    並且依照瓶水相逢部落格的iis設定,
    http://www.dotblogs.com.tw/chhuang/archive/2008/04/19/2957.aspx

    但會發生以下的狀況,當設定為htm或html後,雖然Rewriter功能會正常,但一般的htm或html頁面就會出現錯誤。

    不知道這部份是否有解,還請板上朋友協助。
標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 1 and 8 and type the answer here: