2015-07-21 31 views
0

我有一个在C#中的Web应用程序,我想重定向应用程序取决于在网站上被调用的主机...例如,如果我打电话www.domain.com我想应用程序被重定向到名为Site1的文件夹,如果我打电话给www2.domain.com我希望应用程序被重定向到Site2。这些都是示例名称..这是同一个网站不同的操作。所有DNS的东西都被照顾好了,所以不用担心。我必须说www和ww2指向相同的服务器IP地址。如何知道什么主机被称为

非常感谢球员..

(很抱歉,如果标题是不是太清楚,我不知道怎么问正确的问题)如果你使用的是IIS,你可以

+0

您需要代理/负载均衡器的声音 – Proxytype

+0

您使用IIS吗? –

+0

尝试Google IIS绑定。 – DavidG

回答

0

你的代码应该检查HttpContext.Current.Request.Url.Host

例子:

string host = HttpContext.Current.Request.Url.Host 
switch (host.ToLower()) 
{ 
    case "www.domain.com": 
     HttpContext.Current.Response.Redirect("~/Site1"); 
     break; 
    case "www2.domain.com": 
     HttpContext.Current.Response.Redirect("~/Site2"); 
     break; 
    default: 
     HttpContext.Current.Response.StatusCode = 500; 
} 
+0

谢谢@ john-wu :)我记得看到这段代码..但我无法再从谷歌取回它。 – Soqui

0

有一对夫妇的托管您的Web应用程序的方式(例如IIS,自托管)。既然你没有说过,我会假设你正在使用IIS。您可以简单地添加两个不同的网站,每个网站都使用HTTP(端口80)绑定适当的主机名(例如www.domain.com为一个,www2.domain.com为另一个)。这可以在添加站点时配置,或稍后使用绑定对话框进行配置。

如果您希望使用HTTPS,那么您使用单个IP地址的事实意味着您需要能够支持Server Name Indication。这仅适用于从版本8开始的IIS(Windows Server 2012或Windows 8)。

相关问题