2012-07-18 22 views
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,但是如何通過域名?

我希望你能理解:)

感謝和問候

回答

1

你的問題不就清楚了我,但伊馬儘量幫你

首先你需要更改DNS設置,並點你的IP

然後在IIS中你犯了一個網站,並添加域作爲hostheader

,並獲得請求的URL OUç在服務器變量 http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx

+0

Hostheader看起來是正確的方式,讓我試試。 – 2012-07-18 13:40:32

0

更多信息的使用

Request.Url or look in the Request.ServerVariables["SERVER_NAME"] 

在我看來,它是一些字符串操作和使用字典來得到你想要的。

例如爲:

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

還是你的意思是不同的東西?

相關問題