从http://sitename.com重定向到http://www.sitename.com

时间:2011-05-11 14:09:43

标签: asp.net asp.net-4.0

我正在使用ASP.NET 4.我想从http://sitename.comhttp://www.sitename.com进行301重定向。

这样做的最佳方法(和可选方式)是什么?

我的网站也在ip地址上编入索引。我怎么能阻止它。

5 个答案:

答案 0 :(得分:0)

您可以在Page_Load

中进行简单的检查
    protected void Page_Load(object sender, EventArgs e)
    {
        string serverName = HttpUtility.UrlEncode(Request.ServerVariables["SERVER_NAME"]); 
        string filePath = Request.FilePath;
        if (!serverName.ToLower().StartsWith("www.")) 
            serverName = "www." + serverName; 
        Response.Redirect("http://" + serverName + filePath); 
    }

或者您可以将以下内容添加到htaccess文件中:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

用您的域名替换domain.comhttp://www.domain.com

答案 1 :(得分:0)

我会在IIS级别进行301重定向,请参阅此博文:SEO Canonical URLs And 301 Redirects In Windows IIS 6, IIS 7

要停止在IP地址configure the "site" in IIS to have a host name上编入索引的网站,请不要将其留空。

答案 2 :(得分:0)

根据您的DNS提供商,他们可能会设置重定向,通常称为Web转发,网络别名或网络重定向。只要确保它是301而不是框架集。

相关问题:Canonical name redirects in Godaddy?

答案 3 :(得分:0)

<rule name="Redirect to www">
  <match url="(.*)" />
  <conditions>
    <add input="{SERVER_PORT}" pattern="443" negate="true" />
  </conditions>
  <action type="Redirect" url="https://www.serdardemir.net/{R:1}" />
</rule>

您可以使用网址重写将此规则添加到规则标记

答案 4 :(得分:0)

<rule name="Redirect to WWW" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^yoursite.com$" />
          </conditions>
          <action type="Redirect" url="http://www.yoursite.com/{R:0}" redirectType="Permanent" />
        </rule>

这段代码对我有用。在web.config文件的规则部分中添加它