0

我有一个问题找不到答案,因为我不知道如何用英语搜索它:)

如何让我的客户将他们自己的域重定向到我的服务器并识别他们?就像WordPress。

例如,我创建了一个简单的 CMS 系统,客户可以注册并拥有自己的页面,例如 john.mysite.com。但是如果他们想使用他们的域,我是否必须在 Plesk 上创建所有这些域?顺便说一句,我在 Plesk 中使用 IIS 7.5。

我也不想使用 iframe。

例子;

john.mywebsite.com/categories-150.html --> www.johnswebsite.com/categories-150.html

但它应该使用相同的代码。为此,我不必复制所有源代码并创建单独的域。

当然,我可以让他们将他们的 ns 更改为我的服务器并指定一个 A 记录,但我如何通过代码识别它?(C# ASP.NET MVC)我假设我可以通过数据库搜索域名并获取 ID,但是如何传递域名?

我希望你能够明白 :)

谢谢并恭祝安康

4

2 回答 2

1

您的问题对我来说不是很清楚,但我会尽力帮助您

首先您需要更改 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

于 2012-07-18T12:57:05.130 回答
0

正如我所看到的,这是一些字符串操作并使用字典来获取您想要的内容。

例如:

// 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

或者你的意思是不同的?

于 2012-07-18T13:14:37.303 回答