【问题标题】:asp.net mvc url routing (disable access to /index and query stringasp.net mvc url 路由(禁止访问 /index 和查询字符串
【发布时间】:2014-09-17 13:18:03
【问题描述】:

假设我们有以下控制器代码并默认为 Home/Index,并且我有一个域 www.abc.com。

如何配置将 www.abc.com/home 和 www.abc.com/home/index 设为 404 页面

 public HomeController : Controller {
        public ActionResult Index() {
        }
    }

另外假设我有这样的控制器,我假设用户可以通过以下方式访问它。 www.abc.com/home/index/1 或使用查询字符串 www.abc.com/home/index/?id = 1。我想为这个 url 显示 404 页面:www.abc.com/home/index /?id = 1。这怎么办?

public HomeController : Controller {
        public ActionResult Index(string id) {
        }
    }

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4 razor


    【解决方案1】:

    在您的 RouteConfig.RegisterRoutes 方法中,这将使 /home/home/index 显示 404:

    routes.MapRoute(
        name: "Home",
        url: "",
        defaults: new { controller = "Home", action = "Index" });
    

    这条路线将允许/home/index/1,但对于/home/index/?id=1将是404:

    routes.MapRoute(
        name: "Home",
        url: "home/index/{id}",
        defaults: new { controller = "Home", action = "Index" });
    

    这是 ASP.NET MVC 中非常基本的路由。我建议您阅读一些现有的文档以获取更多信息。

    http://msdn.microsoft.com/en-us/library/vstudio/cc668201(v=vs.100).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 2020-12-28
      • 1970-01-01
      相关资源
      最近更新 更多