ASP.NET MVC错误处理 - 删除aspxerrorpath

时间:2010-06-04 06:07:58

标签: asp.net asp.net-mvc error-handling

我正在处理我的MVC应用程序中的一些错误处理,我想将asperrorpath更改为不会泄露我正在使用.NET的事实......类似于path

任何人都可以就如何改变它给我一些指示吗?

5 个答案:

答案 0 :(得分:8)

redirectMode="ResponseRewrite"添加到customErrors部分。这对我有用。

答案 1 :(得分:2)

我的工作是使用

route.MapRoute("NotFound", "{*url}", new {controller = "Home", action = "NotFound"})

在最底部,我在NotFound中有HomeController个动作。 它只会捕获所有其他网址。

答案 2 :(得分:-1)

您可以通过多种方式解决问题。这取决于你想要的。

  1. 您可以编辑 web.config 中的部分并编写默认链接以便在出错时重定向,并为<error statusCode="403" redirect="NoAccess.htm" />
  2. 等不同错误指定不同的链接
  3. 您可以为Controller / Actions使用HandleError属性。您可以阅读here

答案 3 :(得分:-1)

通过提供自定义查询字符串,您的aspxerrorpath不会显示。

从此链接查看原始答案: how to prevent “aspxerrorpath”

答案 4 :(得分:-1)

只需将虚拟查询字符串添加到.htm页面,如下所示。

<customErrors mode="On" defaultRedirect="errorpage.htm?error=1" >
      <error statusCode="404" redirect="filenotfound.htm?error=1" />
</customErrors>

用fiddler检查,asperrorpath查询字符串不再出现,errorpage.htm的引用者完全干净。