如何将一个url转发到MVC上的404错误页面

本文关键字:上的 MVC 错误 转发 url 一个 | 更新日期: 2023-09-27 18:14:07

我的MVC应用程序使用以下url:

/Content/ /Content/style.css /Content/image.png

我想为url /Content/创建转发,它应该被转发到404错误。所有其他url都应该可以工作。怎么做呢?

我尝试了以下解决方案,但它将所有文件从/Content/转发到404错误页面,但我只想阻止主目录。

web . config:

<validation validateIntegratedModeConfiguration="false" />
    <handlers>
      ...
      <add name="hideDirectoryContent" verb="*" path="Content" type=" NameSspace.NoAccessHandler"/>
    </handlers>
  </system.webServer>

NoAccesHandler.cs:

public class NoAccessHandler : IHttpHandler
    {
        #region IHttpHandler Members
        public bool IsReusable
        {
            get { return true; }
        }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.StatusCode = 404;
        }
        #endregion
    }

如何将一个url转发到MVC上的404错误页面

要做到这一点,你只需要创建一个控制器如下(在MVC 4上测试)

public class ContentController : Controller
{
    // GET: Content
    [AllowAnonymous]
    public ActionResult Index()
    {
        return new HttpStatusCodeResult(HttpStatusCode.NotFound, "Not Found");
    }
}

和在RoutesCollection中使用

routes.RouteExistingFiles = true;

希望能有所帮助