加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用redirectMode =“ResponseRewrite”的customErro

发布时间:2020-12-16 09:49:49 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试为我的站点设置自定义错误页面(ASP.NET 4,集成管道). 一切都在本地计算机上正常工作,但.aspx页面的自定义错误页面不会显示在共享主机上(我看到默认错误页面). 如果我将redirectMode =“ResponseRewrite”更改为redirectMode =“ResponseRedirect”
我正在尝试为我的站点设置自定义错误页面(ASP.NET 4,集成管道).

一切都在本地计算机上正常工作,但.aspx页面的自定义错误页面不会显示在共享主机上(我看到默认错误页面).

如果我将redirectMode =“ResponseRewrite”更改为redirectMode =“ResponseRedirect”,一切都可以在本地和共享计算机上正常运行.

error.aspx是一个真实文件,位于web.config文件旁边(在站点的根目录中).站点没有Global.asax文件.

本地机器运行IIS 7.5,我不使用路由(至少有意识地)和共享主机告诉服务器: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>

解决方法

经过与托管服务提供商的讨论后,结果表明:

>我的方法很好
>但它不会按预期工作,因为托管服务提供商通过machine.config禁用了这种能力.

所以,永远不要低估提供商陷阱的数量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读