利用Web.config的HttpModule实现整站301永久重定向

利用Web.config的HttpModule 实现整站301永久重定向的具体方法如下:

1、在web.config加入配置文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

<configuration>
<appSettings>
<add key="WebDomain" value="duoluodeyu.com"/>
<add key="URL301Location" value="www.duoluodeyu.com"/>
</appSettings>

2、在当前解决方案下新建一个类库项目文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

3、新建一个cs,我这里粗陋的命名一下:ChangeDomain.cs文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

using System;
using System.Web;using System.Configuration;文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

namespace ChangeDomain
{文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

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();
}
}
}
}文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

余下的就是在web.config里注册一下就好了。文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

<httpModules>
<add name="ChangeDomain" type="ChangeDomain.RedirectNewDomain, ChangeDomain" />
</httpModules>

上面的命名只是我简单的命名,具体的web.config注册写法如下:文章源自堕落的鱼-https://www.duoluodeyu.com/826.html

<add name="随便命名" type="HttpModule命名空间加类名,dll文件名" />
文章源自堕落的鱼-https://www.duoluodeyu.com/826.html文章源自堕落的鱼-https://www.duoluodeyu.com/826.html
 最后更新:2015-7-1
    • 厦门外贸B2C网站
      厦门外贸B2C网站 0

      对301一直不是很理解,谢谢博主

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    确定

    拖动滑块以完成验证