[转]asp.net正确的301永久重定向方法
有如下情况:
两个域名: atnet.cc 和ops.cc都泛解析到一个主机上,所以无论是 abc.atnet.cc,还是bbc.ops.cc都将访问到主机的上默认网站,
这样子对SEO是非常不友好的,这时候我们需要使用301重定向技术将所有子域名定向到 www.ops.cc
作者通过HttpModule实现301重定向,代码如下:
namespace OSite.Web
{
using System.Web;
public class MyHttpModule : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.BeginRequest += (o, e) =>
{
HttpContext c = HttpContext.Current;
if (c.Request.Url.Host.IndexOf(".ops.cc") == -1)
{
c.Response.StatusCode = 301;
string path = c.Request.Url.PathAndQuery;
c.Response.Headers.Add("Location", "http://www.ops.cc"+path);
}
};
}
}
}
假设我们访问: bbc.ops.cc/web/,程序将定向到 www.ops.cc/web/
这样就不会影响到主站的权重了
最后我们需要在WebConfig中的HttpModule中新加上我们的Httpmodule类
注:时间紧急,作者直接拷贝代码,实际应用中需修改为你自己的域名
本文出自 “苦瓜的博客” 博客,请务必保留此出处http://atweb.blog.51cto.com/1450481/553701
原创内容请您保留出处及地址 , 主页:展益
浙公网安备 33010602011771号