我正在尝试为我的站点设置自定义错误页面(ASP.NET 4,集成管道)。
在本地机器上一切正常,但是.aspx页面的自定义错误页面不会在共享主机上显示(我看到了默认的错误页面)。
如果我将redirectMode="ResponseRewrite"更改为redirectMode="ResponseRedirect",则所有内容在本地和共享计算机上都能正常工作。
error.aspx是一个真实的文件,它位于web.config文件旁边(在站点的根目录中)。网站没有Global.asax文件。
本地机器运行IIS7.5,我不使用路由(至少是有意识的),共享主机告诉Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319
你能告诉我造成这种不同行为的原因是什么吗?我应该做些什么来解决这个问题?
下面是我的web.config文件的摘录:
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/error.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
<system.web>
<customErrors mode="On" defaultRedirect="error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/error.aspx"/>
</customErrors>
<httpRuntime requestValidationMode="2.0" />
</system.web>发布于 2011-10-16 02:35:22
在与托管提供商进行了长时间的讨论后,事实证明:
machine.config.禁用了这种功能
所以,永远不要低估提供商的陷阱数量。
发布于 2011-10-14 22:45:36
我在我的web.config中有以下评论:
对于IIS7.5,使用errorMode=“自定义”;如果使用路由,则使用responseMode="ExecuteURL“,否则使用responseMode=”重定向“
别让我解释,因为我不知道!我只是通过反复试验把它整理出来。
https://stackoverflow.com/questions/7768732
复制相似问题