通过路由阻止URL通配符

时间:2015-04-16 09:13:07

标签: c# asp.net-mvc-4 routes episerver

我想停止所有带有特定通配符的网址,例如所有内容文件,例如localhost / content / js,该网址下的所有文件都应该返回404页面。

我想在routeinitialization.cs中以编程方式执行此操作,这意味着我想添加类似于此的内容:

        RouteTable.Routes.IgnoreRoute(
            url: "{*contentjsapp}",
            constraints: new { contentjsapp = @"content/js/app/" }
        );

但是让它显示404页面而不是忽略上面的路线。但是,我发现的所有示例都使用自定义404控制器。

1 个答案:

答案 0 :(得分:2)

对此的解决方案非常简单。而不是以编程方式进行,我可以在Web.config中添加以下行(在以下部分:

<handlers>
  <add name="BlockContentJsApp" path="/content/js/app/*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</handlers>

它阻止所有通配符到该页面。

感谢Ted Nyberg提供了很多帮助!