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

来源:互联网 发布:pre软件是什么意思啊 编辑:程序博客网 时间:2024/05/29 18:18

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>







1 0
原创粉丝点击