ASP.NET 路由 - 如何响应 404 的.aspx请求

本文关键字:响应 请求 aspx 路由 NET 何响应 ASP | 更新日期: 2023-09-27 18:30:53

>我正在使用网络表单中的路由来清理网址。我将所有.aspx文件存储在/Pages 目录中,并使用干净的 URL 路由到它们。例如,就目前而言.aspx我仍然可以通过导航到/Pages/Home 来访问这些文件。如何抛出 404 或重定向到路由表中的其他页面?这是我尝试过的:

routes.RouteExistingFiles = true;
routes.Ignore("{resource}.aspx/{*pathInfo}");
routes.Ignore(@"*'.aspx");
routes.MapPageRoute("Home", "", "~/Pages/Home.aspx");

这根本不起作用,我可以使用一些建议。

如果我尝试访问 MVC 站点上的物理文件,我会得到以下结果:

对象引用未设置为对象的实例。

我可以在网络表单上执行此操作吗?

ASP.NET 路由 - 如何响应 404 的.aspx请求

routes.RouteExistingFiles = true;
routes.MapPageRoute("Route1", "Pages/{page}.aspx", "~/404.aspx");
routes.MapPageRoute("Route2", "Pages/{folder}/{page}.aspx", "~/404.aspx");

您需要将其映射到抛出 404 而不是响应的页面,而不是忽略路由。希望这对其他人有所帮助!