重定向到www

时间:2015-05-22 19:31:26

标签: asp.net global-asax

我已经在我的网站项目中添加了global.asax,并且我试图检查Begin_Request中的域是否包含" www",如果是不会,然后将它们重定向到他们要求的页面,但使用" www"预先计算好了。例如,如果我尝试访问:SampleSite.com,它会将我引导至SampleSite.com/www.SampleSite.com/www.SampleSite.com/www.SampleSite.com/www.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>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为您不应该通过代码执行此操作,而是使用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));
相关问题