asp.net mvc如何创建子域名url

时间:2011-11-13 21:26:58

标签: asp.net-mvc url-routing subdomain

我正在分散在多个子域中的网站上工作。从主站点我必须创建指向sudomains的URL。我怎样才能做到这一点。

例如,我的主要网站是www.mysite.com 我需要创建一个指向blog.mysite.com/userId/Name的URL,它将指向HomeController和Index方法,其中包含userId和name。

另外,我应该如何在生产机器上处理本地机器上的URL。

帮助将不胜感激

在这里更新我的问题。

什么是

@Html.ActionLink("MyLink","Index","Profile","","www.test.com",null,null,null)

做。

它会创建一个链接,但其中包含端口号。无论如何,我可以避免它。

此致

成员Parminder

3 个答案:

答案 0 :(得分:2)

由于您的子域将使用控制器和操作托管自己的应用程序,我建议使用旧的HTML超链接来创建该链接:

<a href="blog.mysite.com/userId/Name">Your Blog</a>

原因:因为您不想将不相交的应用程序耦合在一起,所以ASP.NET MVC没有关于其他应用程序中使用的路由的线索(并且不应该有任何线索)。为了构建链接,您可以向HtmlHelper添加扩展方法,以避免拼写错误和URL路径编码怪癖。

答案 1 :(得分:0)

关于端口号 - 您确实需要在IIS中设置虚拟目录以避免它。如果您的目标是拥有单独的站点 - 您还必须为所有子站点设置虚拟目录。我想知道你是否真的需要建立完全独立的网站?子网站有多广泛? “根”网站和“子网站”之间是否存在任何联系。

出于好奇---有多少个子站?如果你能做到这一点而不暴露太多 - 这里的最终目标是什么?

答案 2 :(得分:0)

如果您要查找字符串类型的项目,可能需要使用razor @helper语法。

您可以创建@ helper.blogLink(“Title”,“Action”,“Controller”),以创建指向子域的链接。

http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx