2008-12-24 67 views
0

我有一個應用程序,它被要求爲使用大量查詢字符串值的動態頁面創建一個友好的url。在Internet上進行了一些研究之後,我發現我需要創建一個HttpModule或HttpHandler來完成路由,然後在IIS中設置一個通配符映射到aspnet_isapi.dll的.Net v1.1(刪除Verify the File Exist複選框)。帶有通配符映射的ASP.Net 1.1在默認文檔上提供404

一切工作正常本地在我的XP專業箱使用虛擬目錄來測試。

當我將它提升到測試環境(Server 2003)時,直接訪問頁面和路由工作正常;但是,默認文檔不再有效。我在網上發現一個參考資料,指出由於ASP.Net WP和IIS6的分離,IIS6在默認文檔邏輯之前處理通配符映射。

我試圖更新我的HttpHandler來解釋一個/路由;但是,路由頁面上的代碼不再有效。在Web.Config中,我嘗試使用*作爲路徑以及/並獲得相同的響應。我也在使用我覺得不正確的Response.Redirect。

我也試過了URLRewriter.net;然而,它花了幾個小時試圖讓它工作(它只是不會路由在這個asp.net 1.1應用程序出於某種原因)後沒有工作。

任何想法可能是什麼原因或如何讓我的路線到默認頁面和我的具體頁面設置,而讓剩下的獨立?

回答

0

我在URLRewriter的README信息中發現了一些拼寫錯誤。根據在線文檔配置它,而不是基於二進制文件提供的示例,我能夠使其在本地解決我的問題。

將代碼提升到我的測試服務器後,預期的路由正在工作,但默認域路由不是仍然存在。我稍微修改了默認路由的URL模式,並開始工作。