后台开启自定义404错误后对ASPx脚本无效 未将对象引用设置到对象的实例。
    文章作者:恒爱云[恒爱网络] 阅读次数:27 发布时间:2025-8-15

    某用户在我司空间管理后台开启自定义404错误页面后,在根目录下自动生成  HttpErrors 目录,下面有 403.htm  404.htm  500.htm ,测试发现只有访问不存在的目录时才会跳转。

    500错误脚本会提示:“/”应用程序中的服务器错误。 未将对象引用设置到对象的实例。

    404错误脚本会提示:“/”应用程序中的服务器错误。 无法找到资源。

    这里需要在在根目录下的web.config 配置文件里写段代码


    <system.webServer>

        <httpErrors errorMode="Custom" existingResponse="Replace">
                <remove statusCode=“404“ subStatusCode=“-1“ />
                <error statusCode=“404“ prefixLanguageFilePath=““ path=“/404/404.php“ responseMode=“ExecuteURL“ />
         </httpErrors>

    </system.webServer>


    errorMode有三个值,分别为Custom、DetailedLocalOnly、Detailed,
    意思为对用户与服务器端始终显示自定义页面、只能服务器端显示详细出错信息、对用户与服务器端始终显示详细出错信息。


    responseMode有File、ExecuteUrl、Redirect三个层,分别表示使用服务器端静态文件、可执行的URL、URL转向 


    由于我们后台点击自定义404 页面时已经完成了3个状态代码的设置,所以这里只需要设置访客和服务器端的显示状态即可

    因此只需要在web.config 里设置以下代码即可。


    <system.webServer>

        <httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace">
         </httpErrors>

    </system.webServer>