【问题标题】:How can we make an ASP.NET MVC4 route based on a subdomain?我们如何基于子域创建 ASP.NET MVC4 路由?
【发布时间】:2013-01-15 22:11:39
【问题描述】:

我们如何创建一个使用子域信息来确定其路由的 ASP.NET MVC4 路由?例如:

website1.domain.com 转到domain.com\websites\1

website2.domain.com 转到domain.com\websites\2

这是一个像这样的动态映射:websiteN.domain.com 转到 domain.com\websites\N

我有一个用户名参数,如何通过控制器/动作?

【问题讨论】:

  • 我正是在寻找这个。觉得做不到。
  • @DaveA:我刚刚更改了 website1.domain.com 去 domain.com\websites\1 和 website2.domain.com 去 domain.com\websites\2 ...,对不起
  • OIC,这样更便于管理

标签: asp.net-mvc asp.net-mvc-4 url-rewriting routing


【解决方案1】:

ASP.NET 的内置路由不直接支持子域路由。但幸运的是,有AttributeRouting,这是一个非常流行的路由插件库,可以让你做很多花哨的路由,包括子域路由。

这是来自 Attribute Routing 站点的示例:

[RouteArea("Users", Subdomain = "users")]
public class SubdomainController : Controller
{
    [GET("")]
    public ActionResult Index() { /* ... */ }
}

【讨论】:

  • 谢谢,如何在 localhost:[PortNumber] 上测试它?
  • 如果你在这里举个例子,我真的很感激你。你提到了用户,我如何使用我的子域。
  • @Houshang 请查看 AttributeRouting 网站上的文档。在这种情况下,名称“users”恰好是子域,所以对您来说它是“website1”。
  • 你能看看我的问题吗?抱歉,我刚刚将 website1.domain.com 更改为 domain.com\websites\1 和 website2.domain.com 转到 domain .com\websites\2 ... ,我可以用你的解决方案再做一次吗?
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
相关资源
最近更新 更多