【问题标题】:custom error pages in IIS for Windows 7用于 Windows 7 的 IIS 中的自定义错误页面
【发布时间】:2012-11-23 22:40:50
【问题描述】:

在 Windows 7 中,我正在尝试设置自定义错误页面。一个用于 404,一个用于 500,一个用于所有其他错误(客户端或服务器端),当某些事情超时时用户可能会遇到,或者在 asp 编译时出现故障。

404.htm
500.htm
error.htm

只是说错误的非常简单的 html 页面,没有像默认设置那样的技术。 This postthis post 似乎在谈论在 ASP 中制作错误页面,而不仅仅是获取一个 html 文件并将其设置为自定义错误页面。

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

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

我输入的完整地址:WebvView\webview_error_pages\error.htm(在我点击旁边的省略号按钮后选择浏览。(我已经缩短了这篇文章的所有这些地址)。

自定义默认地址有效。但是当我尝试像这样为 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>

再次感谢!

【问题讨论】:

    标签: asp.net iis windows-7 custom-error-pages


    【解决方案1】:

    您没有在 web.config 中执行此操作是否有特定原因?如果您将项目移动到不同的服务器,这将有所帮助,您就不必担心手动配置 IIS。此外,在 web.config IMO 中配置它更容易一些。

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

            <customErrors mode="On" defaultRedirect="~/Error/" >
               <error statusCode="404" redirect="~/404Redirect/"/>
            </customErrors>
    

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

    【讨论】:

    • 谢谢!文件的位置在哪里?那是波浪号吗?它是否适用于 asp 给我的那些编译错误:/
    • 波浪号代表应用程序的根目录。这将适用于编译错误
    • 哇,找到源代码真的很管用。无论出于何种原因,使用 IIS 将该功能“始终”打开,都没有更改 xml 配置文件。谢谢您的帮助! :)
    • 我添加了自定义错误消息的代码。您知道如何修改该代码以添加 404 页面吗?谢谢。
    • 我将我认为是相关代码的内容添加到问题的最后编辑中:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    相关资源
    最近更新 更多