これは単純で、すでに答えられていなければなりませんが、何時間も無駄にしています。間違ったアドレスにエラーページを表示する方法を理解できません。また、リダイレクトするのではなく、URLを保持したいと考えています。私はCustomErrors、HttpErrors、Application_Errorの多くの組み合わせを試しましたが、存在しないコントローラでは何も動作しません.HttpErrorsに応じて、私はいつもIIS 404.0ページを取得するか、空の404応答のみを取得します。 IIS 7.5、MVC上で実行すると、私はそこに他のルートの秋と一致しないすべての要求を確実にするために、次のルートを使用3.ASP.NET MVCアプリケーション用の404ページ
答えて
解決策がどこにあるのか覚えていません。 まず、あなたがのErrorController作成:
public class ErrorController : Controller
{
//
// GET: /Error/
public ActionResult Index()
{
return RedirectToAction("Index", "Home");
}
public ActionResult Generic()
{
Exception ex = null;
try
{
ex = (Exception)HttpContext.Application[Request.UserHostAddress.ToString()];
}
catch { }
return View();
}
public ActionResult Error404()
{
return View();
}
}
第二に、開いているグローバルなファイルを、次のコードを追加:あなたのWebConfigで
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Application[HttpContext.Current.Request.UserHostAddress.ToString()] = ex;
}
第三に、変更customerrorをしかし、ここでエラーを処理するコードです:
<customErrors mode="Off" defaultRedirect="/Error/Generic">
<error statusCode="404" redirect="/Error/Error404"/>
</customErrors>
その他:もう1つのエラーレイアウトを作成しました。それは物事をもっとはっきりさせます。 :)
希望します。
、あなたは非常に簡単にそのケースを扱うことができます。最後の(含ま
// this route is intended to catch 404 Not Found errors instead of bubbling them all the way up to IIS.
routes.MapRoute(
"PageNotFound",
"{*catchall}",
new { controller = "Error", action = "NotFound" }
);
地図他の文の後のその文)。
Thx Nico、実際にスヌーズURLを使用しています。キャッチがすべてあるかどうかを確認します。 – user1318555
これは多くのシナリオでは機能しません。アクションが見つからなくても、多くのルートが一致します!それらは技術的に404です。これが私のコメントでアプローチを推奨した理由です。 (すべてのシナリオを扱う多面的なソリューションの1つのコンポーネントとしてこのソリューションを同時に使用するわけではありません) –
@Kirk:このマッピングのポイントは、コントローラとアクションに一致する要求を確実にすることです。与えられたコントローラやアクションが存在することを保証するものではありません。私の例では、私は実際には私のエラーコントローラにNotFoundアクションを持っていません。今はIISにバブルするのではなく、自分でこのエラーを処理できます。 – bevacqua
- 1. asp.net MVCルーティングエラー404
- 2. ASP.NET 4 MVCルート404
- 3. ASP.NET MVCルーティング404エラー
- 4. ASP.NET MVC 404ルートが
- 5. スプリングmvc:ダイナミック404ページ
- 6. ASP.NET MVC Json 404の応答
- 7. ASP.NET MVC Webアプリケーションの使用
- 8. IISがASP.NET MVCアプリケーションの外部に404エラーを投げる
- 9. サブドメイン上のAsp.Net MVC、標準のMVCアプリケーションは404を返します
- 10. ASP.NET MVCでカスタム404ページを表示するには?
- 11. '/'アプリケーションでHTTP 404サーバーエラーが発生しました。 ASP.NET MVC 4
- 12. Refresh asp.net mvcページ
- 13. ハイブリッドASP.NET/ASP.NET MVCアプリケーションのIndex.aspx
- 14. ASP.NET MVC - '/'アプリケーションのサーバーエラー
- 15. asp.net mvcアプリケーションのバックエンドプロセス
- 16. ASP.NET MVCアプリケーションのWebstats
- 17. asp.net mvcアプリケーションのTCPClient
- 18. ASP.NET MVCアプリケーションのプレミアムテーマ
- 19. asp.net MVCアプリケーションのデプロイ
- 20. ASP.Netを使用して404ページから新しいページにリダイレクト
- 21. ASP.NET MVC 2.0 IIS 7.0と404エラー
- 22. asp.net mvcルーティングと不思議404
- 23. ASP.NETを使用したMVCアプリケーションのタブ
- 24. ASP.net MVCレンダリングhtmlページ
- 25. ASP.NET WebアプリケーションからASP.NET MVCアプリケーションにリダイレクト
- 26. asp.netコアMVCを使用している場合のエラー404
- 27. ASP.NETフレンドリーなURL 404のIISアプリケーションのエラー
- 28. asp.net mvcアプリケーションとアップロードファイル
- 29. ASP.NET MVCアプリケーションでポップアップウィンドウ
- 30. _layoutページのASP.NETコアMVCドロップダウンリスト
[ASP.NET MVCで404を適切に処理するにはどうすればいいですか?](http://stackoverflow.com/a/2577095/189950)これは価値があるのですが、これが私のアプローチです。それはintiially設定する*深刻な* PIAであり、それは実際に過度に複雑に見える(と私はそれがだと思う傾向がある) - **しかし** ...それは素晴らしい作品、非常に柔軟性がありますあなたが望むものを正確に得る。 –
Thxキャップ。カーク;)私はそれを試してみるが、IMHOそれは一般的なシナリオのためにあまりにも複雑です... – user1318555
そのうまく、そのリンクで提供される*多くの*ソリューションがあります。あなたが可能な最も簡単な解決策を探しているなら、それは[これもまたカバーされています](http://stackoverflow.com/a/5507125/189950)。 –