我希望将http://mydomain.com的所有请求301重定向到http://www.mydomain.com以用于搜索引擎优化目的。
为了做到这一点,我可以使用IIS7的HTTP重定向方法吗?我尝试将HTTP重定向设置为www.mydomain.com,但这导致了永久循环。
编辑:URL重写将完成这项工作,我将使用它,除非其他人有更好的想法:
http://blogs.msdn.com/carlosag/archive/2008/09/02/IIS7UrlRewriteSEO.aspx
有什么建议吗?
答案 0 :(得分:1)
可能有一种方法可以使用IIS7。诀窍在于提供防止无限循环的条件。不幸的是,我不确定该怎么做。
但是你也可以很容易地在.NET代码中这样做,因为我正在做同样的事情。我只是把它放在你的Global.asax中:
Imports System.Web.HttpContext
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim strWebsite As String = "http://www.mydomain.com"
If Not Current.Request.Url.AbsoluteUri.StartsWith(strWebsite) Then
Current.Response.Clear()
Current.Response.Status = "301 Moved Permanently"
Current.Response.AddHeader("Location", strWebsite & Current.Request.RawUrl)
Current.Response.End()
End If
End Sub
答案 1 :(得分:0)
是的,UrlRewrite模块是这里的方式。现在,如果您处于没有IIS7方便的情况,或者无法使用url重写模块,您仍然可以使用HTTP重定向执行此操作。诀窍是使用两个单独的虚拟站点。第一个站点侦听example.com主机标头并将所有内容转发到www.example.com。第二个听取www.example.com并且行为正常。
答案 2 :(得分:0)
在http重定向中,请确保您的重定向网址格式正确。
而不是http之后的双斜杠,如果你单斜杠它会转到无限循环。
即。 “http://”是正确的。 “http:/”将创建一个无限循环。
答案 3 :(得分:-2)
将mydomain.com创建为单独的网站,并将其重定向。
好像你这样做:
http://technet.microsoft.com/en-us/library/cc732969%28WS.10%29.aspx
http://technet.microsoft.com/en-us/library/cc770393%28WS.10%29.aspx
考虑使用Apache更容易。