我正在使用ASP.NET MVC路由根据某些单词来引导流量,例如mydomain.com/support
指向支持页面(在Home控制器下),或默认情况下为mydomain.com/controller/action/id
。 / p>
但是,我还希望流量能够在gTLD之后使用任何单词 - 我还没有指定 - 来点击我的主页。
例如:mydomain.com/anything
仍会点击我的主页,而不会产生404响应。其中任何是除了我已经指定的任何单词之外的任何单词(在本例中为“support”)。
这甚至可能吗?
答案 0 :(得分:0)
你这样做的事情不是吗?
routes.MapRoute(
"MyRoute",
"{word}.aspx",
new {
controller = "Home",
action = "Index"
} // Parameter defaults
);
并更新您的操作(在这种情况下索引,以获得字参数)。
答案 1 :(得分:0)
我不确定你为什么要这样做,因为这样你最终可能会被搜索引擎索引很多请求。
routes.MapRoute(
"MyRoute",
"{anything}",
new { controller = "Home", action = "Index" }
);
此路线应该在默认路线之后。
如果您希望家庭控制器仍然可以处理此类请求http://mydomain.com/anything/otherthing/another,那么您必须尝试,
routes.MapRoute(
"CatchAllRoute",
"{*anything}",
new { controller = "Home", action = "Index" }
);