【发布时间】:2011-01-20 18:44:22
【问题描述】:
希望是一个快速简单的问题。
我有一个包含多个子域的域。当我尝试重定向根目录(www.example.com 和 example.com)时,它可以正常工作,但是它也会转发子域。每个子域(包括根站点)都设置为单独的站点。我不想只转发根站点的子域。
这在 IIS7 中是否可行,还是我应该只在索引页面中编码重定向?我敢肯定有办法.....
【问题讨论】:
标签: asp.net iis-7 windows-server-2008
希望是一个快速简单的问题。
我有一个包含多个子域的域。当我尝试重定向根目录(www.example.com 和 example.com)时,它可以正常工作,但是它也会转发子域。每个子域(包括根站点)都设置为单独的站点。我不想只转发根站点的子域。
这在 IIS7 中是否可行,还是我应该只在索引页面中编码重定向?我敢肯定有办法.....
【问题讨论】:
标签: asp.net iis-7 windows-server-2008
如果您在 IIS 中使用主机标头并且每个子域都在它自己的站点中,那么只要它与主机标头匹配,它将在到达您的根站点之前转到该站点。
如果您实际上是在一个 IIS 站点下运行它们,那么您可以使用 URL 重写将子域重定向到文件夹(例如 site.domain.com -> domain.com/site)。
我对您问题中的措辞并不完全清楚,但听起来我首先提到的主机标头正在导致您的问题。如果它们确实是不同的 IIS 站点,请检查主机标头是否设置正确,并且它们没有被任何负载平衡器、代理或 Web 服务器前面的任何其他框删除/更改。
【讨论】:
当然可以,您只需将请求 URL 主机与您要重定向的名称进行比较:
string host = HttpContext.Current.Request.Url.Host.ToLower();
if (host == "redirectme.domain.com")
{
Response.Redirect("anotherpage.aspx");
}
【讨论】: