我正在使用ASP.NET 4.我想从http://sitename.com到http://www.sitename.com进行301重定向。
这样做的最佳方法(和可选方式)是什么?
我的网站也在ip地址上编入索引。我怎么能阻止它。
答案 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.com
和http://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而不是框架集。
答案 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文件的规则部分中添加它