gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 18:32:25 25 4
gpt4 key购买 nike

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

routes.RouteExistingFiles = true;
routes.Ignore("{resource}.aspx/{*pathInfo}");
routes.Ignore(@"*\.aspx");

routes.MapPageRoute("Home", "", "~/Pages/Home.aspx");

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

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

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

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

最佳答案

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

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

关于c# - ASP.NET 路由 - 如何响应 .aspx 请求的 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18707366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com