既存の MVC Web アプリケーションの URL が物理的に存在しません (つまり、MyMVCSite/mypage.aspx です。無効な aspx がユーザーによって入力された場合、「エラー ページ」にページをリダイレクトする必要があります。
-) MVCSite/InvalidePage --> エラーページにリダイレクト MVCSite/error
-) MVCSite/InvalidePage.aspx --> ページ MVCSite/InvalidePage.aspx としてホームページにリダイレクト
最後の条件も Page MVCSite/error にリダイレクトする必要がありますしたがって、この条件は、URL が物理的に存在しないため、ここでも機能しないため、私によっても試行されます...
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (sUrl.EndsWith(".aspx"))
{
string[] path = sUrl.Split('/');
if (!System.IO.File.Exists(Server.MapPath("test.aspx")))
Response.Redirect("error");
}
}
さらに、Global.asax の Application_Error イベントで 404 例外を適用できません。この例外が何度も発生するため、404 のチェックも行われます - ファイルが存在しない理由は、いくつかの画像である可能性があり、css ファイルが現在見つからない可能性があります非常に見つけにくい
protected void Application_Error()
{
if (objException.Message != "File does not exist.") { //..... }
}
Web.configにもカスタムエラーを適用していますが、これも機能しません
<customErrors mode="Off">
<error statusCode="404" redirect="Error/Index" />
</customErrors>
現在、エラー ページはアクション名が間違っている場合にのみ発生しますが、ページ名が間違っている場合は、間違った URL のホームページにリダイレクトされ ます。この問題を解決するために、他の多くのオプションを使用してアドバイスしてください。