有如下情况:
两个域名: 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