2011-10-01 3 views
1

J'ai un site sur lequel j'ai exécuté un rapport woorank. L'un des éléments qu'il est d'exploitation est:301 redirection pour référencement

www resolve Be careful! Your website without www doesn't redirect to www (or the opposite). It's duplicate content! Hide advice 
High impactEasy to solve 
Be sure that http://mysite.com and http://www.mysite.com are not running in parallel. 

Redirecting requests from a non-preferred hostname is important because search engines consider URLs with and without "www" as two different websites. 

Once your preferred domain is set, use a 301 redirect for all traffic to your non-preferred domain. 

J'ai lu quelques messages en ligne et je me demandais ce que RAPIDE ET FACILE solution il est de fixer cela dans asp.net 4.

Merci.

+0

Désolé, mais je ne vois pas l'aspect programmation de cette question. Semble être plus d'un problème [webmasters] (http://webmasters.stackexchange.com) pour moi. Voter pour migrer. –

+0

voir la réponse ci-dessous alors. Je pense que cette question aidera plus d'une personne. – frenchie

Répondre

4

avait exactement le même problème, l'a fixé avec ceci dans mon asax global fondamentalement je vous redirige avec 301 si vous demandez pour mon site sans www. D'ailleurs, vous n'aurez probablement pas besoin de l'outil if (url rewriting). juste la ligne dans l'autre avec faire le travail.

void Application_BeginRequest(object sender, EventArgs e) 
     { 
      try 
      { 
       if (HttpContext.Current.Request.Url.AbsoluteUri.ToLower().StartsWith("http://mysite")) 
       { 
        string newUrl = string.Empty; 
        if (HttpContext.Current.Items["UrlRewritingNet.UrlRewriter.VirtualUrl"] != null) 
         newUrl = "http://www.mysite.com" + HttpContext.Current.Items["UrlRewritingNet.UrlRewriter.VirtualUrl"].ToString(); 
        else 
         newUrl = HttpContext.Current.Request.Url.AbsoluteUri.ToLower().Replace("http://mysite", "http://www.mysite"); 



        Response.Status = "301 Moved Permanently"; 
        Response.StatusCode = 301; 
        Response.StatusDescription = "Moved Permanently"; 
        Response.AddHeader("Location", newUrl); 
        Response.End(); 
       } 
      } 
      catch (Exception ex) 
      { 
       Response.Write(ex.Message); 
      } 
     } 
+0

ok, très cool, merci! – frenchie