我在VS 2015中有一个项目。有一个名为home-program.aspx的页面。
这是我为该页面设置的路线:
Dim sDestinationRegExp As String = "^(world|land|line|run|club)${2,}"
routes.MapPageRoute("landing", "destinations/{destination}", "~/home-program.aspx",
True,
New RouteValueDictionary(New With
{.destination = "world"}),
New RouteValueDictionary(New With
{.destination = sDestinationRegExp}))
现在,路线有效。然而。用户仍然可以使用/ home-program或/home-program.aspx访问该页面。有没有办法阻止他们使用这些网址访问这些网页,而是使用映射的路由?
答案 0 :(得分:0)
我怀疑你可以在路线映射的尾端添加一个“全能”路线,将所有东西映射到403或404页面(无论你认为最好)。
This answer显示了如何创建全能路径映射。确保它位于地图的末尾 - 您添加的最后一件事。
这应该可以防止其他管道模块尝试处理URL。如果您的路由映射与URL不匹配,则默认情况下将调用另一个IIS模块(来自ASP.NET)。这就是处理/home-program.aspx
请求的方式。如果使用路由映射条目处理它,则默认模块不应干扰。