我在我的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? –