2011-03-22 81 views
7

我有一個項目,我想使用asp.net路由功能。因此我在我的global.asax Application_start中添加了一些路由。IIS 7忽略沒有文件擴展名的MapPageRoute

這在我的Windows 7 SP1上正常工作,但是當我將應用程序部署到我的W2K8 R2 Live服務器時,我只能在使用URL時獲得404。如果我在URL的末尾添加/default.aspx,頁面將正確顯示。

IIS似乎忽略沒有文件擴展名的URL。

Live服務器上的本地服務器,但404工作:

http://website/list/123/Test 

兩個服務器上的工作:

http://website/list/123/Test/index.aspx 

我怎樣才能獲得Live服務器使用擴展少網址嗎?

+2

固定:我發現缺少配置的活的服務器上:我只是說<模塊runAllManagedModulesForAllRequests =「真「>添加到W2K8的web.config中,現在所有的URL都可以正常工作。但我不知道,爲什麼這些設置在我的本地系統上啓用... – Christoph 2011-03-22 17:08:53

回答

11

不要忘了添加以下在你的web.config文件

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
+0

我遇到了相反的問題(其中帶點的路由被視爲靜態內容,然後未找到「文檔」 )。但是,這解決了我的問題......直到我發現其他靜態內容由於身份管理而從服務器運行時沒有加載。 – jmoreno 2014-12-26 22:36:39