2015-11-06 58 views
0

我遇到的情況,我有一個網站,將被多個客戶使用。 但我不想將網站發佈到每個客戶域。相反,我會將網站發佈到一個天藍色的網站,例如mywebsite.azurewebsites.net,我希望所有的客戶域名都重定向到這個mywebsite.azurewebsites.net但我需要知道這是哪個客戶,所以我可以顯示正確的內容。例如我正在考慮在查詢字符串中附加或發送隱藏的自定義參數等。 我需要知道的是重定向多個域同樣蔚藍的網站自定義參數

  • 我如何能夠重定向域mywebsite.azurewebsites.net
  • 我如何傳遞一個隱藏的參數在重定向例如,從客戶域例如,任何要求「www.cust1.com/Home/Index」將被重定向到「mywebsite.azurewebsites.net/Home/Index?username=testuser」和「www.cust1.com/Home/Index?querystring=ffff」 「到」 mywebsite.azurewebsites.net?querystring=ffff &用戶名= testuser的
  • 我不希望發佈在客戶的網站,這意味着客戶站點根目錄將是空的任何網站的內容。

回答

2

有很多不同的方法可以做到這一點。

你需要確定的第一件事是:你打算如何處理重定向到mywebsite.azurewebsites.net

  1. 你要放置代碼直接在客戶網站上
    重定向?
  2. 你有獲得了客戶DNS的讓你提出自己的網站mywebsite.azurewebsites.net?
  3. 是否要創建CNAME記錄並將其指向您的Azure網站?

方法#1

如果你獲得了客戶的網站,那麼這將成爲最簡單的方法。

正如你如上所述,我會簡單地用某種類型的自定義URL即mywebsite.azurewebsites.net/customer1的用戶重定向回到您的網站。

當用戶點擊此頁面時,您可以在其瀏覽器中設置一個cookie,以便您知道它們來自哪裏,然後將它們重定向到mywebsite.azurewebsites.net的主頁。這幾乎會立即發生,客戶永遠不會注意到。

方法2

如果能夠轉發域或者他們只能在用戶,你可以簡單的外觀,引薦的URL時,請求重定向到在mywebsite.azurewebsites.net主站進來。然後,如上所述,根據引薦網址,您可以設置您的Cookie並顯示正確的內容。

方法#3

這是假設你有機會獲得客戶的DNS記錄,並能夠創造www.customerwebsite.com CNAME記錄 - > mywebsite.azurewesbites.net

在在這種情況下,當用戶訪問該網站時,您只需將主機拉下來,然後根據該內容設置您的內容。

具體的代碼是在這裏:

string url = HttpContext.Current.Request.Url.AbsoluteUri; 
// http://localhost:1302/TESTERS/Default6.aspx 

string path = HttpContext.Current.Request.Url.AbsolutePath; 
// /TESTERS/Default6.aspx 

string host = HttpContext.Current.Request.Url.Host; 
// localhost 

你可以在這裏找到更多的信息:How to get the URL of the current page in C#

讓我知道,如果你有任何疑問或最終實施這些解決方案。

+0

我可以訪問客戶的DNS記錄。我會嘗試3種方法。 – mhdbaz