您的位置:首页 > 编程语言 > ASP

asp.net 利用Web.config实现整站301永久重定向

2015-05-22 13:57 411 查看
1、在web.config加入配置

<appSettings>
<add key="WebDomain" value="mhzg.net"/>
<add key="URL301Location" value="www.mhzg.net"/>
</appSettings>

2、在当前解决方案下新建一个类库项目

3、新建一个cs,命名为:Domain301.cs

using System;
using System.Web;
using System.Configuration;
namespace Domain
{
public class RedirectNewDomain : IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.AuthorizeRequest += (new EventHandler(Process301));
}
public void Process301(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
HttpRequest request = app.Context.Request;
string lRequestedPath = request.Url.DnsSafeHost.ToString();
string strDomainURL = ConfigurationManager.AppSettings["WebDomain"].ToString();
string strWebURL = ConfigurationManager.AppSettings["URL301Location"].ToString();
if (lRequestedPath.IndexOf(strWebURL) == -1)
{
app.Response.StatusCode = 301;
app.Response.AddHeader("Location", lRequestedPath.Replace(lRequestedPath, "http://" + strWebURL + request.RawUrl.ToString().Trim()));
app.Response.End();
}
}
}
}


4.在web.config里注册

<httpModules>
<add name="Redirect301" type="RedirectNewDomain, Domain" />
</httpModules>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息