에는 확장명이 .aspx없는 경우 사로 잡았와 나는 Global.asax에있는 모든 404 오류를 기록하고 싶었다, 그래서 나는 거기에이 코드를 삽입하지 :웹 양식 : 404 오류 URL이 나는 웹 양식 프로젝트가
void Application_Error(object sender, EventArgs e)
{
var exception = Server.GetLastError();
var httpException = exception as HttpException;
if (httpException == null)
{
Log.Error(string.Format("Unkown error:", Request.Url.AbsoluteUri), exception);
}
else if (httpException.GetHttpCode() == 404)
{
Log.Warn(string.Format("RequestError 404: {0}", HttpContext.Current.Request.Url.AbsoluteUri));
}
else
{
Log.Error(string.Format("RequestError {0}: {2}\r\n{1}", httpException.GetHttpCode(), Server.UrlDecode(Request.Headers.ToString()), HttpContext.Current.Request.Url.AbsoluteUri), httpException);
}
}
이것은 확장명이 '.aspx'인 모든 요청에서 정상적으로 작동합니다. 그것이 없거나 또 다른 확장자가 없다면 Application_Error
은 바이 패스된다.
이 내 web.config
<customErrors defaultRedirect="/500.aspx" mode="Off">
<error statusCode="404" redirect="/404.aspx"/>
<error statusCode="500" redirect="/500.aspx"/>
</customErrors>
어떤 생각인가?