当我在应用程序中收到403错误时,我正在尝试重定向到html文件。这是由IIS处理的,所以我已将其添加到我的web配置中:
<httpErrors errorMode="Custom" >
<remove statusCode="403"/>
<error statusCode="403" responseMode="File" path="/500.html"/>
</httpErrors>
这给了我这个错误:
You do not have permission to view this directory or page.
但是,如果我将响应模式更改为ExecuteURL
,它将重定向到该页面。但它将显示http状态代码200,而文件将保持403错误。我无法将其重定向到此文件。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
根据system.webserver/httperrors/error
配置节点(https://www.iis.net/configreference/system.webserver/httperrors/error)的说明,将responseMode
属性设置为File
需要提供绝对 Windows 错误页面的路径。如下例所示:
<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>