我有一个非常有趣的案例:
我有一个网站,它已经在运行了
但我也希望这些 url 也能正常工作
- http://mysite.com/farm
- http://mysite.com/farm/browse/mens
- http://mysite.com/farm/product/1/cooltshirt
farm 部分是假的,它除了为 SEO 而存在之外什么都不做,没有与之相关的相应 Controller 或操作
本质上,我已经有大量的路由,但我也希望如果在主机名“mysite”之后附加“farm”,则该站点的行为完全相同。所以它有点像一个子目录,其行为与在主站点上的行为完全一样。
最佳答案
您可以添加具有约束的路线。确保它在默认路由之上。
routes.MapRoute(
"Farm", // Route name
"farm/{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index"} // Parameter defaults
);
它只是确保以“farm”开头的 URL 从第二段获取其 Controller 名称,从第三段获取操作名称。
关于asp.net-mvc - 没有特定 Controller 的 ASP.NET MVC 3 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11318542/