我在IIS 7上本地运行的Asp.Net 4中有一个Web应用程序。 我需要显示自定义页面(404)和500而不是IIS的默认页面。 在Web.Config中使用此httpErrors
<system.webServer>
<httpErrors>
我的网站位于
C:\inetpub\wwwroot\mysite\
我的自定义错误页面:
C:\inetpub\wwwroot\mysite\ErrorPages\404.htm
C:\inetpub\wwwroot\mysite\ErrorPages\505.htm
我不明白它是如何运作的。你能告诉我一个代码示例吗?
由于
答案 0 :(得分:14)
我解决了这个问题。
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode='-1' />
<remove statusCode="500" subStatusCode='-1' />
<error statusCode="404" path="/404.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" />
<error statusCode="500" path="/500.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" />
</httpErrors>
这需要进入Web.config
,<configuration>
&gt; <system.webServer>
e.g。
<configuration>
<system.webServer>
<httpErrors ...>
// define errors in here ...
</httpErrors>
</system.webServer>
</configuration>
答案 1 :(得分:5)
这是一个例子,希望它有所帮助
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="default.aspx">
<error statusCode="404" redirect="~/ErrorPages/404.htm"/>
<error statusCode="500" redirect="~/ErrorPages/505.htm"/>
</customErrors>
</system.web>
修改评论:以下是我认为您需要的示例
<configuration>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
<remove statusCode="500" />
<error statusCode="500"
prefixLanguageFilePath="C:\Contoso\Content\errors"
path="500.htm" />
</httpErrors>
</system.webServer>
</configuration>
http://www.iis.net/ConfigReference/system.webServer/httpErrors/error