IIS for Windows 7中的自定义错误页面

125*_*748 2 asp.net iis custom-error-pages windows-7

在Windows 7中,我正在尝试设置自定义错误页面.一个用于404,一个用于500,一个用于捕获用户在超时时遇到的任何其他错误(客户端或服务器端),或者当asp进行编译时出现故障.

404.htm
500.htm
error.htm
Run Code Online (Sandbox Code Playgroud)

只是非常简单的html页面,说错误,没有任何技术,如默认值.这篇文章这篇文章似乎是在谈论在ASP中制作错误页面,而不仅仅是采用html文件并将其设置为自定义错误页面.

在IIS中,我已经转到了不适用于ASP的错误页面选择工具

IIS错误菜单

并将此信息输入Edit error pages settings对话框

我输入的完整地址:WebvView\webview_error_pages\error.htm(通过选择我点击旁边的elipses按钮进行浏览.(我已经缩短了这篇文章的所有这些地址).

在此输入图像描述

自定义默认地址有效.但是,当我尝试为404创建一个错误页面时:

对话为404

404出现在列表中

并尝试转到不存在的页面,我收到这个简单的错误消息:

由于发生内部服务器错误,无法显示页面.

不是我的.而不是我设置自定义404之前的默认设置.

我究竟做错了什么?

谢谢!

编辑

另外,我刚刚更改了ASP的某些部分并得到了运行时错误,而不是我的自定义错误.有没有办法阻止用户看到这些可怕的技术页面?

编辑 这是其他状态菜单的xml代码:

    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
        <customErrors defaultRedirect="webview_error_pages/error.htm" mode="On">
        </customErrors>
  </system.web>
    <system.webServer>
        <httpErrors errorMode="Custom">
            <remove statusCode="502" subStatusCode="-1" />
            <remove statusCode="501" subStatusCode="-1" />
            <remove statusCode="500" subStatusCode="-1" />
            <remove statusCode="412" subStatusCode="-1" />
            <remove statusCode="406" subStatusCode="-1" />
            <remove statusCode="405" subStatusCode="-1" />
            <remove statusCode="401" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="-1" />
        </httpErrors>
    </system.webServer>
Run Code Online (Sandbox Code Playgroud)

再次感谢!

小智 6

你有没有在web.config中没有这样做的具体原因?如果将项目移动到其他服务器,这将有所帮助,您不必担心手动配置IIS.此外,在web.config IMO中配置它更容易一些.

在system.web下的customErrors节点中,请确保具有

        <customErrors mode="On" defaultRedirect="~/Error/" >
           <error statusCode="404" redirect="~/404Redirect/"/>
        </customErrors>
Run Code Online (Sandbox Code Playgroud)

显然,您可以替换您想要的任何重定向页面.