如何将一个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
}
要做到这一点,你只需要创建一个控制器如下(在MVC 4上测试)
public class ContentController : Controller
{
// GET: Content
[AllowAnonymous]
public ActionResult Index()
{
return new HttpStatusCodeResult(HttpStatusCode.NotFound, "Not Found");
}
}
和在RoutesCollection中使用
routes.RouteExistingFiles = true;
希望能有所帮助