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



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

最好的方法

(和可选方法)是什么?

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

您可以在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替换为您的域。

我会在IIS级别进行301重定向,请参阅此博客文章:Windows IIS 6,IIS 7中的SEO规范URL和301重定向

若要停止在 IP 地址上索引站点,请将 IIS 中的"站点"配置为具有主机名,不要将其留空。

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

相关问题: 在 Godaddy 中重定向规范名称?

<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>

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

<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 文件的规则部分添加此项

最新更新