Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 ASP.NET MVC 2从非www重定向到www_Asp.net Mvc 2_Redirect_No Www - Fatal编程技术网

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

Asp.net mvc 2 ASP.NET MVC 2从非www重定向到www,asp.net-mvc-2,redirect,no-www,Asp.net Mvc 2,Redirect,No Www,我找到了从www重定向到非www的解决方案,但不是相反。有什么“简单”的解决办法吗?www和非www的区别是什么?我应该用哪一个?只是因为版本较短吗?我之所以只使用一个版本是因为SEO。以下是一些您可能会发现有用的背景信息: 实际上是一个独立于的域。因此,如果两个域上的内容相同,它们将被视为彼此的副本 我通过在IIS中设置两个站点,然后执行从一个站点到另一个站点的永久301重定向来处理重定向。如果必须的话,您也可以在代码中这样做,尽管这不是我喜欢的方法。请参见以下选项:您可以在Global.as

我找到了从www重定向到非www的解决方案,但不是相反。有什么“简单”的解决办法吗?www和非www的区别是什么?我应该用哪一个?只是因为版本较短吗?我之所以只使用一个版本是因为SEO。

以下是一些您可能会发现有用的背景信息:

实际上是一个独立于的域。因此,如果两个域上的内容相同,它们将被视为彼此的副本


我通过在IIS中设置两个站点,然后执行从一个站点到另一个站点的永久301重定向来处理重定向。如果必须的话,您也可以在代码中这样做,尽管这不是我喜欢的方法。请参见以下选项:

您可以在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));
   }
}
我不认为使用与否会有什么区别,但最好只使用一个版本。还有一个在谷歌网站管理员工具的首选域设置。我更喜欢使用非www.So do:)