我收到了客户的要求,他们希望我这样做。当网络上的用户转到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
%>
感谢所有的建议! 克里斯
答案 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);
}
希望这有帮助。