URL重写IIS 7 IP到域名

时间:2013-04-03 18:11:47

标签: iis

我收到了客户的要求,他们希望我这样做。当网络上的用户转到http://x.x.x.x时,会将其重定向到其域名http://www.domain.com。我已经搞乱了URL Rewrite中的规则,并且我没有指定确定IP地址请求的条件等等。但是当我进行重定向时,该站点进入重定向循环。

我的问题是我该怎么做?我知道这基本上是重定向到同一个地方,因此循环,但有没有办法让这种情况发生?出于搜索引擎优化的原因,他们不希望网站的访问者能够通过公共IP获取它。

谢谢, 克里斯 //////

好的全部,感谢Caner的一些指导和好主意,我能够弄明白。 这是我使用的ASP代码:

<%
if Request.ServerVariables("HTTP_X_HOST") = "" then
Dim rd
rd = "http://www.xxx.com" & Request.ServerVariables("PATH_INFO")
Response.Status="301 Moved Permanently"
Response.AddHeader "Location",rd
Response.end 
end if
%>

感谢所有的建议! 克里斯

1 个答案:

答案 0 :(得分:0)

这是一种棘手的问题,但我建议您的客户端在其头文件中添加一些代码(header.asp文件,site.master等等),而不是在IIS上配置它。 此代码可以检查请求;你可以到达HttpContext.Current.Request.Url.Host。 使用HttpContext.Current.Request.Url.Host,您可以进行重定向。

 string currentURL = HttpContext.Current.Request.Url.Host;

if(!currentURL.StartsWith("www."))
{
    string newURL = HttpContext.Current.Request.Url.Host;
    if(currentURL =="www.x.x.x.x")
      newURL ="www.domain.com";

    newURL += HttpContext.Current.Request.Url.PathAndQuery;

    Response.Redirect(newURL);
}

希望这有帮助。