我正在使用 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.com
和http://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 文件的规则部分添加此项