重定向到另一个域但相同的服务器

时间:2010-02-21 17:48:37

标签: .net asp.net iis iis-7 asp.net-3.5

我有两个域名,例如www.male.com和www.female.com,它们都指向同一个网站应用程序。在这个应用程序中,我有一个HTTP模块,用于检查用户的会话是否仍处于活动状态,如果是,则检查用户是男性还是女性。

我想查看用户从哪个域进入网站。如果用户是男性但已进入(来自)www.female.com,则必须将用户重定向到www.male.com。如果是女性,则必须采取相反的措施。

其他情况是:

  • 男性用户进入www.female.com/articles/test.aspx,应将其重定向到www.male.com/articles/test.aspx

  • 男性用户输入test.female.com/main/default.aspx,应将其重定向到test.male.com/main/default.aspx。

我在IIS 7.0框中使用ASP.NET 3.5。

的Gr

马亭

3 个答案:

答案 0 :(得分:2)

您可以使用Request.Url.Host确定他们所在的网站(male.com或female.com),然后使用Response.Redirect将他们引导至正确的网站。您可以使用Request.Url上的其他属性来确定用户正在查看的确切路径。

答案 1 :(得分:0)

对于浏览器而言,如果域的重要性与同一服务器相同则无关紧要。 你可以在iframe中打开male.com来检查cookie或为两个域设置cookie。 或使用他们的ip跟踪用户,但我不建议。

答案 2 :(得分:0)

最简单的方法是拥有一个公共会话服务器,两个站点都可以使用会话ID来获取用户信息。这样,在female.com上登录可以生成会话数据,识别男性用户,然后将页面传递给male.com,其中包含足迹和会话ID的查询字符串(以及传输上的短ttl)。然后,male.com可以识别查询字符串数据,解析它,验证它并快速访问会话数据。