2008-12-03 27 views
1

我正在嘗試創建一個非常簡單的ASP.NET應用程序,它以類似於Wiki的方式呈現從基於URL的數據庫中檢索的信息,但是這種情況下該網站是隻讀的。我想一個URL的一個例子是:然後ASP.NET URL重寫,用於從URL內容進行數據庫查詢,無需擴展

http://www.foo.com/bar 

的應用程序將使用「酒吧」作爲一個SQL查詢參數表現出與匹配「bar」的數據庫信息。

我已經研究了IIS6的許多URL重寫選項(這將在專用服務器上),但我仍然不確定使用哪個應用程序。爲了說明一下,我只需要從一個default.aspx文件運行該網站,但我希望它能像上面描述的那樣工作。整個網站的邏輯將非常簡單。

我希望在這方面有更多經驗的人能幫助我 - 我正在尋找解決這一問題的最簡單的解決方案。

回答

2

如果該擴展已被註冊,IIS6僅將請求引導到asp.net引擎。默認情況下,註冊的擴展名是aspx ascx asmx等...

如果你不能基於查詢字符串參數(例如foo.com/default.aspx?query=bar)的數據庫查詢,那麼你可以做的最好的IIS6是通配符映射。基本上這意味着每個請求都會被引導到asp.net(包括圖像腳本和樣式),顯然這會降低性能。

要啓用通配符映射右鍵單擊您的網站在IIS管理器中,並轉到屬性 - >主目錄 - >配置 - >映射在底部單擊插入並鍵入到asp.net isapi dll的路徑從上面的aspx擴展中複製它)並取消選中「驗證該文件是否存在」。

進行更改之後,你就可以申請foo.com/bar

(另一種方法可能會做出foo.com/default.aspx/bar的請求)

0

只是爲了記錄,IIS URL Rewrite 2支持這一點,您可以安裝包含數據庫提供程序的擴展性示例。僅適用於IIS 7+。

http://www.iis.net/download/urlrewrite http://code.msdn.microsoft.com/rewriteextensibility