我想將自定義錯誤頁面添加到我的Web應用程序。到目前爲止,我已經元素下添加這個到我的web.config文件:防止IIS 7.5使用web.config顯示默認錯誤頁面
<customErrors mode="On" >
<error statusCode="404" redirect="~/404.aspx"/>
<error statusCode="500" redirect="~/500.aspx"/>
</customErrors>
也能正常工作對於.NET觸及例如包含.aspx擴展名的URL錯誤。不過,我也希望爲網址顯示自定義錯誤,例如www.example.com/dasda
當前當我請求一個頁面(如上面的IIS 7.5)時,顯示它自己的錯誤消息。我已經元素下添加此:
<httpErrors >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
我認爲這將使IIS顯示自定義錯誤頁,而不是它是默認的,但是這似乎並不如此。
我知道我可以在IIS本身設置一個自定義的錯誤頁面,但對於我的情況理想的解決方案是將此可配置在web.config中。
我曾嘗試加入到這個在Page_Load事件我的自定義錯誤頁的建議here:
Response.TrySkipIisCustomErrors = true;
但是它並沒有從地方我自定義錯誤頁的顯示停止IIS的默認頁面。我也嘗試過建議here:
<httpErrors >
<remove statusCode="404" subStatusCode='-1' />
<error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
<remove statusCode="500" subStatusCode='-1' />
<error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
</httpErrors>
但是這也行不通。
那麼有沒有辦法通過配置web.config文件中的設置來防止IIS顯示默認錯誤頁面?
感謝Aesir發佈此信息。我可以用你的例子解決同樣的問題。 – GibboK
這也解決了我的問題。謝謝! –
感謝您發現errorMode標誌;缺乏效果讓我很煩惱。 – icelava