重定向到 www

Redirecting to www

我已将 global.asax 添加到我的 Web 项目,我正在尝试检查 Begin_Request 中的域是否包含 "www",如果不包含,然后将他们重定向到他们请求的页面,但在其前面加上 "www"。例如,如果我尝试访问:SampleSite.com,它会将我定向到 SampleSite.com/www.SampleSite.com/www.SampleSite.com/www.SampleSite.[=20= .SampleSite.com/www.SampleSite.com/www.SampleSite.com/www.SampleSite.com/index.aspx

代码如下:

<script runat="server">
    Sub Begin_Request(ByVal sender As Object, ByVal e As EventArgs) Handles Me.BeginRequest
        Dim domain As String = Request.Url.Host
        If (Not domain.StartsWith("www")) Then
            Dim path As String = ""
            path = String.Format("www.{0}", Request.Url.AbsoluteUri.Substring(7))
            Response.Redirect(path)
        End If

    End Sub
</script>

有什么想法吗?

我认为您不应该通过代码来执行此操作,而应该使用 IIS 重定向功能。 Here 你有一个关于如何在 IIS 7 上执行此操作的示例

如果您仍想继续使用这种方法,请更改

String.Format("www.{0}", Request.Url.AbsoluteUri.Substring(7));

来自

String.Format("{0}://www.{1}", Request.Url.Scheme, Request.Url.AbsoluteUri.Substring(7));