asp.net-mvc-4 - 使用CustomErrors使用ResponseRewrite删除aspxerrorpath参数

标签 asp.net-mvc-4 custom-error-pages

我正在使用asp.net MVC4 + visual studio2012。一切正常,但是只有自定义错误始终在URL上具有 aspxerrorpath 参数。

我已经在 web.config 上配置了自定义错误:

<customErrors mode="On" defaultRedirect="~/Error/Error">
  <error redirect="~/Error/Error" statusCode="404" />
  <error redirect="~/Error/Error" statusCode="500" />
</customErrors>

我也将错误操作更改为:
public ActionResult Error()
{
    Response.Status = "404 Not Found";
    Response.StatusCode = 404;
    return View();
}

现在将在发生404时发生。我的URL上总是有aspxerrorpath参数。
我尝试将redirectMode="ResponseRewrite" 添加到customError节点,但是如果添加,则错误将显示运行时异常.....

那么,有什么最好的方法来删除aspxerrorpath参数吗?谢谢。

最佳答案

另一个简单的解决方案是针对404错误打开customErrors文件中的web.config:

<customErrors mode="On">
  <error statusCode="404" redirect="~/home/notfound" />
</customErrors>

并在家庭 Controller 中:
public ActionResult NotFound(string aspxerrorpath)
{
    if (!string.IsNullOrWhiteSpace(aspxerrorpath))
        return RedirectToAction("NotFound");

    return View();
}

关于asp.net-mvc-4 - 使用CustomErrors使用ResponseRewrite删除aspxerrorpath参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22630891/

相关文章:

asp.net - 在 ASP.net 中获取当前登录用户的 ID

asp.net - 在ASP.NET MVC项目中启用错误页面时查看未找到的错误

java - Spring : Default html error page is not properly displayed?

php - PHP自定义错误处理程序可在 header 已发送时重定向或显示错误页面。这段代码不好吗?

asp.net - IIS 8 - 默认文档 - 找不到资源

entity-framework - 是否可以将现有的 MVC4 Web 应用程序升级到 MVC5?

c# - 替代 web.config 中的 appsettings(需要持久性)

jsp - 如何在自定义错误页面(Tomcat)中获取消息?

iis-7.5 - 自定义错误不适用于 IISExpress

c# - 如何使用 JavaScriptSerializer 强制驼峰式大小写?