0

我正在使用 ASP.NET MVC 路由来根据某些单词来引导流量,例如mydomain.com/support,它指向支持页面(在 Home 控制器下),或者mydomain.com/controller/action/id按照默认设置。

但是,我还希望流量能够在 gTLD 之后使用任何单个词(我尚未指定)来访问我的主页。

例如:mydomain.com/anything仍然会点击我的主页并且不会产生 404 响应。除了我已经指定的以外的任何单词(在此示例中为“支持”

这甚至可能吗?

4

2 回答 2

0

你只是做这样的事情不是吗?

routes.MapRoute(
  "MyRoute",
  "{word}.aspx",
    new { 
      controller = "Home",
      action = "Index"
  }  // Parameter defaults
);

?

并更新您的操作(在本例中为Index以具有word参数)。

于 2012-07-19T13:49:11.620 回答
0

我不确定你为什么要这样做,因为这样你最终可以索引搜索引擎的大量请求。

routes.MapRoute(
  "MyRoute",
  "{anything}",
  new { controller = "Home", action = "Index" }
);

这条路线应该最后在默认路线之后。

如果您甚至希望此类请求http://mydomain.com/anything/otherthing/another仍由 Home 控制器处理,那么您必须尝试,

routes.MapRoute(
  "CatchAllRoute",
  "{*anything}",
  new { controller = "Home", action = "Index" }
);
于 2012-07-19T14:09:17.500 回答