ASP.NET MVC 2从非www重定向到www

时间:2011-02-18 07:53:30

标签: asp.net-mvc-2 redirect no-www

我找到了从www重定向到非www的解决方案,但反之亦然。有没有“简单”的解决方案呢? www或非www有什么区别?我应该使用哪一个?是不是因为版本较短?我只使用一个版本的原因是因为SEO。

2 个答案:

答案 0 :(得分:3)

以下是一些有用的背景信息:http://www.mattcutts.com/blog/seo-advice-url-canonicalization/

http://mydomain.com实际上是http://www.mydomain.com的独立域名。因此,如果您在两个域上具有相同的内容,则它们将被视为彼此的重复。

我通过在IIS中设置两个站点然后执行从一个站点到另一个站点的永久301重定向来处理我的重定向。如果你不得不这样做,你也可以在代码中执行此操作。请参阅:http://www.eworldui.net/blog/post/2008/04/25/ASPNET-MVC-Legacy-Url-Routing.aspx

中的一个选项

答案 1 :(得分:2)

您可以将此代码用于Global.asax文件中的任何asp.net应用程序:

void Application_BeginRequest(object sender, EventArgs e)
{
   string FromHomeURL = http://yourdomain.com;    
   string ToHomeURL = http://www.yourdomain.com;

   if(HttpContext.Current.Request.Url.ToString().ToLower().Contains(FromHomeURL))
   {
       HttpContext.Current.Response.Status = "301 Moved Permanently";
       HttpContext.Current.Response.AddHeader("Location",
       Request.Url.ToString().ToLower().Replace(FromHomeURL, ToHomeURL));
   }
}

我认为使用与否之间不会有区别,但最好只使用一个版本。此外,Google网站站长工具还提供了首选域名设置。我更喜欢使用非www。请stackoverflow.com:)