【问题标题】:Pointing a domain to a specific controller/action ASP.NET MVC将域指向特定的控制器/操作 ASP.NET MVC
【发布时间】:2013-06-30 01:21:06
【问题描述】:
我正在编写一个 ASP.Net MVC 4 应用程序,它的功能之一是为我的客户提供他们自己的网站。可以访问网站的默认方式是http://www.abc.com/cb/acme
我想让他们能够将他们自己的域指向这个位置,这样上面就变成了http://www.acme.com
我可以让他们使用 cname 将 acme.com 指向 http://www.abc.com/cb/acme 吗?根据您的意见和经验,最好的方法是什么?
更新:如果可能的话,我还需要它对 google 和 bing 爬虫友好。
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-3
asp.net-mvc-4
cname
domain-name
【解决方案1】:
您可以为每个客户提供一个新的子域。如果http://www.abc.com 是您的主要网站域,那么您的客户acme 可以拥有一个域作为
http://acme.abc.com
你不能直接给每个客户一个新的域,这是出路。
【解决方案2】:
您可以在文件 Global.asax 中进行配置,例如:
routes.MapRoute(
"CategoryDetails", // Route name
"{cid}/{id}/{categoryName}/{articleName}.htm", // URL with parameters
new { controller = "News", action = "Detail", categoryName = UrlParameter.Optional, articleName = UrlParameter.Optional, cid = UrlParameter.Optional, id = UrlParameter.Optional } // Parameter defaults
);
视图中的代码,例如:
<a href="<%: Url.Action("Detail", "News", new { cid = Model.CategoryId, id = obj.ID , categoryName=Model.TitleContent, articleName = "1" })%>">