我有一个问题,我找不到答案,因为我不知道如何用英语搜索它:)
如何让我的客户将自己的域重定向到我的服务器并识别它们?像Wordpress一样。
例如,我创建了一个简单的CMS系统,客户可以注册并拥有自己的页面,如john.mysite.com。但如果他们想要使用他们的域名,我是否必须在Plesk上创建所有这些域名?顺便说一下,我正在使用IIS 7.5和Plesk。
我也不想使用iframe。
实施例
john.mywebsite.com/categories-150.html - > www.johnswebsite.com/categories-150.html
但它应该使用相同的代码。我不必复制所有源代码并为此创建单独的域。
当然,我可以让他们将ns更改为我的服务器并指定A记录但是如何通过代码识别它? (C#ASP.NET MVC)我假设我可以在数据库上搜索域名并获取ID但是如何传递域名?
我希望你能理解:)
谢谢和问候
答案 0 :(得分:1)
你的问题不是我要清楚的,而是ima试图帮助你
首先,您需要更改DNS设置并指向您的IP
然后在iis中创建一个站点并将该域添加为主机头
并获取请求的网址,您可以使用
Request.Url or look in the Request.ServerVariables["SERVER_NAME"]
有关服务器变量的更多信息 http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx
答案 1 :(得分:0)
正如我所看到的,它是一些字符串操作并使用字典来获得你想要的东西。
E.g:
// preparation of the dictionary to map your sub domain to the clients website
IDictionary<String, String> clientRedirect = new Dictionary<String, String>();
clientRedirect.Add("john", "www.johnswebsite.com");
...
// actual processing incoming request
String strToRedirect = @"john.mywebsite.com/categories-150.html";
String relPath = strToRedirect.Substring(strToRedirect.IndexOf(@"/")); // = "/categories-150.html"
String subdomain = strToRedirect.Substring(0, strToRedirect.IndexOf(@"/"));
subdomain = subdomain.Replace(@".mywebsite.com", ""); // = "john"
String newUrl = clientRedirect[subdomain] + relPath; // = "www.johnswebsite.com/categories-150.html"
WebRequest request = WebRequest.Create(newURL); // use the URL
或者你的意思是什么不同?