2014-01-20 34 views
0

在web.config的system.webServerhttpErrors部分的error元素中可以使用「MVC 5路由」作爲path可以將「MVC 5路由」用作web.config中system.webServer httpErrors節中錯誤元素的路徑嗎?

<configuration> 
...other config stuff... 
<system.webServer> 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404"/> 
     <error statusCode="404" path="/Error/NotFound" responseMode="ExecuteURL"/> 
    </httpErrors> 
    </system.webServer> 
</configuration> 
+0

是的,responseMode設置對於確保在錯誤條件期間正確路由起作用非常重要。你看到了什麼結果? – christofr

+0

因此,ExecuteURL不僅適用於.aspx頁面? MSDN/IIS文檔對此不太清楚。 ExecuteURL \t提供自定義錯誤的路徑屬性中指定的動態內容(例如.asp文件)。如果responseMode設置爲ExecuteURL,則路徑值必須是服務器相對URL。數值是1 – PussInBoots

回答

0

是的,你可以做到這一點。使用responseMode="ExecuteURL" IIS在內部「重定向」(發送給定URL的請求)並將結果寫入響應。

您可能還想將httpErrors中的existingResponse屬性設置爲Replace

注意:

建築方面的原因,IIS如果它位於同一應用程序池7.0只能執行URL。使用重定向功能在不同的應用程序池中執行自定義錯誤。