2

これは公式に私を夢中にさせています......私はASP.Net3.5を実行しているIIS7のウェブサイトを持っています。トレースがオフになっていて、カスタムエラーが構成されていますが、www.mysite.com / trace.axdにアクセスすると、カスタムエラーページではなく、標準のASP.NetYSODが表示されます。返されるステータスは500ですが、CassiniまたはDev Serverを使用すると、ステータスが403になるため、さらに奇妙なことになります。

だから私の質問は、標準のASP.Net YSODの代わりにライブボックスにカスタムエラーページを返すにはどうすればよいですか?

カスタムエラー構成:

<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" path="~/404.aspx" redirect="~/404.aspx" responseMode="ExecuteURL" /></customErrors>

トレース設定:

<tracing>
            <traceFailedRequests>
                <add path="*.aspx">
                    <traceAreas>
                        <add provider="ASP" verbosity="Verbose" />
                        <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
                        <add provider="ISAPI Extension" verbosity="Verbose" />
                        <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module" verbosity="Verbose" />
                    </traceAreas>
                    <failureDefinitions timeTaken="00:00:00" statusCodes="500" />
                </add>
            </traceFailedRequests>
        </tracing>

ここでの助けは大歓迎です、他に何か必要な場合は私に知らせてください:)

4

1 に答える 1

2

Web.config ファイルでトレース HTTP ハンドラーを削除します。

  <system.webServer>
    <!-- remove TraceHandler-Integrated - Remove the tracing handlers so that navigating to /trace.axd gives us a 
         404 Not Found instead of 500 Internal Server Error. -->
    <handlers>
      <remove name="TraceHandler-Integrated" />
      <remove name="TraceHandler-Integrated-4.0" />
    </handlers>
  </system.webServer>

/trace.axd に移動すると、500 Internal Server Error ではなく 404 Not Found が表示されるようになりました。

于 2015-03-04T12:26:43.500 に答える