将IIS 7 IP的URL重写为域名
我接到一位客户的请求,他们希望我能做到这一点。当网络上的用户去让它301重定向到他们的域名时。我在URL重写中弄乱了规则,我没有问题指定确定IP地址请求的条件,等等。但是当我重定向时,站点进入重定向循环 我的问题是我该怎么做?我知道这基本上是重定向到同一个地方,因此循环,但有任何方法使这发生吗?出于SEO的原因,他们不希望网站的访问者能够通过公共IP获得它 谢谢, 克里斯 ////// 好吧,多亏了Caner的一些指导和好主意,我才能够找到答案。 以下是我使用的ASP代码:将IIS 7 IP的URL重写为域名,iis,Iis,我接到一位客户的请求,他们希望我能做到这一点。当网络上的用户去让它301重定向到他们的域名时。我在URL重写中弄乱了规则,我没有问题指定确定IP地址请求的条件,等等。但是当我重定向时,站点进入重定向循环 我的问题是我该怎么做?我知道这基本上是重定向到同一个地方,因此循环,但有任何方法使这发生吗?出于SEO的原因,他们不希望网站的访问者能够通过公共IP获得它 谢谢, 克里斯 ////// 好吧,多亏了Caner的一些指导和好主意,我才能够找到答案。 以下是我使用的ASP代码: <% if R
<%
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
%>
感谢所有的建议!
Chris这有点棘手,但我建议您的客户端在头文件(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);
}
希望这有帮助。我不太了解IIS,但应该可以创建虚拟服务器。您可以为IP地址创建一个(只进行重写),为真实网站创建一个(包含实际内容)。希望这能给我们一些有用的提示…你能告诉我们你尝试过的重定向规则吗?我可以,但我不知道IIS是否只允许我将主机头绑定到没有IP的VS。我去看看。Cheese,我将尝试重新挖掘并发布它,但我在尝试后删除了它。我假设它是一个asp.net应用程序。谢谢Caner。我试过这个。我不得不重新编写它作为一个ASP的经典应用程序。但是我得到了与IIS URL重写规则相同的东西,只是进入了一个重定向循环。在重定向之前放置一个if控件怎么样,我已经编辑了我的原始答案。