In meiner Anwendung zeigt i Code unten schrieb für 404.404 Redirect-Header 302
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
Dim exc As Exception
Dim readdInfo As New NameValueCollection
exc = Server.GetLastError()
Dim httpCode As Integer = CType(exc, HttpException).GetHttpCode()
If httpCode = 404 Then
If TypeOf Context.CurrentHandler Is System.Web.UI.Page Then
Context.Server.Transfer("404.aspx")
Context.Response.Flush()
Context.Response.End()
Else
Context.RewritePath("404.aspx")
Context.Response.Clear()
Context.Response.ClearContent()
Context.Response.ClearHeaders()
**Context.CurrentHandler.ProcessRequest(Context)**
Context.Response.Flush()
Context.Response.End()
End If
End If
End Sub
Aber wenn ich versuche, über Programm ausführen ich erhalte Context.CurrentHandler null Ausnahme. Wenn ich Response.Redirect an Stelle von Server.Transfer halte, bekomme ich 301 Header. Ich habe http://404checker.com/full-header-checker für Header-Kontrolle
Wenn ich http://404checker.com/full-header-checker mit nicht existierender Seite einchecke, zeigt die Kopfzeile HTTP/1.1 302 Object verschoben statt HTTP/1.1 404 Not Found – Sree