2009-11-11 38 views
2

我有自定義404.htm的asp.net網站。 它配置了customErrors部分來處理aspx。ASP.NET.net for asp.net for asp.net的自定義404頁面URL

<customErrors mode="On" defaultRedirect="404.htm">
<error statusCode="403" redirect="404.htm" />
<error statusCode="404" redirect="404.htm" />
</customErrors>
<system.webServer>
<httpErrors>
<error statusCode="404" path="404.htm" />
<error statusCode="500" path="404.htm" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true"> ...
</system.webServer>

它處理wrongname.aspx好。但對於非aspx請求,如wrongname.htm IIS7仍然返回一般錯誤消息,不是我的習慣。如何強迫他這樣做,比如說,對於這個網站的所有錯誤,包括500?我應該編寫一個模塊還是可以聲明?

回答

0

您可以通過您的網站的IIS設置爲大多數HTTP錯誤設置自定義錯誤頁面。 (在IIS 5中,這是屬性 - >自定義錯誤標籤,不知道你會在IIS7中找到它的位置)

0

爲了使自定義404應用IIS的approrpiate位必須被設置爲處理您正在使用的擴展名。

對於IIS7中的集成管道,我認爲(雖然IIS7讓人感興趣)默認情況下是處理所有擴展。

首先檢查你是否有經典或集成運行的應用程序 - 如果前者那麼這將成爲問題的一部分,如果後者......我必須每次都解決這個問題(我不'這樣做足夠了)。

0

在本地進行測試時,iis7會傾向於向您顯示一條通用錯誤消息,除非您將屬性添加到httpErrorserrorMode="Custom"。您需要編輯C:\Windows\System32\inetsrv\config\applicationHost.config以允許此操作。