現在、web config で以下のコードを使用してカスタム エラー ページを生成できます。
<customErrors mode="On" defaultRedirect="Error404.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/Error404.aspx"/>
</customErrors>
これは、aspx でない限り、存在しないすべてのページをキャッチします。
例: http://www.monstermmorpg.com/StackOverflow
今こうして作ったら
http://www.monstermmorpg.com/StackOverflow.aspx
グローバル asax がエラーをキャッチしています
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
if (Server.GetLastError() != null)
if (Server.GetLastError().GetBaseException() != null)
{
Exception objErr = Server.GetLastError().GetBaseException();
ErrorLogger.LogError(Request.Url.ToString(), objErr.Message.ToString(), objErr.StackTrace.ToString());
if (objErr.Message.IndexOf("does not exist") != -1)
{
// Response.Redirect("http://www.monstermmorpg.com");
}
}
}
しかし、ここでは、アクセスしたいページが存在することをブラウザに伝えます。実際には存在しません。だから私はあなたが探しているページが404であることをブラウザに伝えたい.
どうすればそれを行うことができます=?
グローバル asax で error404.aspx ページにリダイレクトすると、ヘッダーが既に送信されているというエラーが表示されます
ここでエラー