在旧站点中,我通过添加来更改 CustomErrors 的工作方式redirectMode="ResponseRewrite"
(3.5 SP1 中的新增功能):
<customErrors mode="RemoteOnly" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="404.aspx" />
</customErrors>
问题是:它向我显示了通用错误页面(当您未设置时您会看到的页面)customErrors
。如果我删除redirectMode="ResponseRewrite"
部分,它工作正常。
我确定服务器中安装了 3.5 SP1,因为我在同一服务器托管的其他站点上使用相同的设置。
有任何想法吗?
对于任何尝试在 MVC 应用程序中执行此操作的人来说,需要注意的是:ResponseRewrite
uses Server.Transfer
在幕后。因此,defaultRedirect
必须对应于文件系统上的合法文件。显然,Server.Transfer
与 MVC 路由不兼容,因此,如果您的错误页面由控制器操作提供,Server.Transfer
将查找 /Error/Whatever,在文件系统上找不到它,然后返回通用 404 错误页面!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)