我在我的Global.asax文件这样的检查有效的页面:手柄IIS 404错误在ASP.NET代码
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
' Fires at the beginning of each request
Dim path As String = HttpContext.Current.Request.Path.ToUpper
If Not (path.EndsWith(".ASPX") OrElse path.EndsWith(".PNG") OrElse path.EndsWith(".GIF") OrElse path.EndsWith(".MASTER") OrElse path.EndsWith(".JS") OrElse path.EndsWith(".CSS") OrElse path.EndsWith(".PDF")) Then
'invalid page
Response.Redirect("/ErrorPageNotFound.aspx?aspxerrorpath=" + HttpContext.Current.Request.Path)
End If
End Sub
而且我的web.config中修改,以包括行:
<error statusCode="404" redirect="ErrorPageNotFound.aspx"/>
这在Visual Studio开发服务器或UltiDev Web服务器上运行时工作正常,但是当我在Visual Studio或完全成熟的IIS使用本地IIS Web服务器并尝试获取到不存在的foo.php
我得到的标准IIS 404错误页。请注意,如果我导航到foo.aspx
我得到我的自定义错误页面。
似乎IIS在看到我的代码并决定重新路由它之前正在看到请求?这有什么办法吗?
建立直接的文件类型到.NET的IIS? –