Глобальное перенаправление 301 с домена на домен - PullRequest
6 голосов
/ 21 января 2010

Могу ли я использовать начальный запрос Global.asax для перенаправления всего,

от mydomain.domain до www.mydomain.domain ?

Если это правда, как я могу это сделать?

Ответы [ 2 ]

11 голосов
/ 27 апреля 2011

Несколько небольших изменений в ответе Яна заставили его работать на меня:

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    string currentUrl = HttpContext.Current.Request.Url.ToString().ToLower(); 
    if (currentUrl.StartsWith("http://mydomain"))
    {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", currentUrl.Replace("http://mydomain", "http://www.mydomain"));
        Response.End();
    }
}

Изменения заключались в использовании события BeginRequest и установке currentUrl в HttpContext.Current.Request.Url вместо HttpContext.Current.Request.Path. Смотри:

http://www.mycsharpcorner.com/Post.aspx?postID=40

5 голосов
/ 21 января 2010
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
  string currentUrl = HttpContext.Current.Request.Path.ToLower();
  if(currentUrl.StartsWith("http://mydomain"))
  {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location", currentUrl.Replace("http://mydomain", "http://www.mydomain"));
    Response.End();
  }
}
...