asp.net 利用Web.config的HttpModule 实现整站301永久重定向(简单方便)
2010-12-23 12:00
706 查看
之前是做301定向是在每个页面调用一个方法的,原文/article/4921986.html 现在利用Web.config的HttpModule 实现整站301永久重定向 具体方法如下:
1在web.config加入配置
<configuration>
<appSettings>
<add key="WebDomain" value="wecanwecan.com"/>
<add key="URL301Location" value="www.wecanwecan.com"/>
</appSettings> 2,在当前解决方案下新建一个类库项目
3,新建一个cs,我这里粗陋的命名一下:ChangeDomain.cs
写完这个基本就ok了。剩下的就是在web.config里注册一下就好了。
1在web.config加入配置
<configuration>
<appSettings>
<add key="WebDomain" value="wecanwecan.com"/>
<add key="URL301Location" value="www.wecanwecan.com"/>
</appSettings> 2,在当前解决方案下新建一个类库项目
3,新建一个cs,我这里粗陋的命名一下:ChangeDomain.cs
using System; using System.Web; using System.Configuration; namespace ChangeDomain {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(); } } } }
写完这个基本就ok了。剩下的就是在web.config里注册一下就好了。
<httpModules> <add name="ChangeDomain" type="ChangeDomain.RedirectNewDomain, ChangeDomain" /> </httpModules>上面的命名也是我这边的粗陋命名,具体的web.config注册写法如下:
<add name="随便命名" type="HttpModule命名空间加类名,dll文件名" />
相关文章推荐
- 301重定向1:利用Web.config的HttpModule实现整站301永久重定向
- asp.net 利用Web.config实现整站301永久重定向
- asp.net简单实现利用HttpModule实现防sql注入
- ASP.NET下利用HttpModule实现简体中文向繁体中文的自动转换
- asp.net利用HttpModule实现防sql注入
- ASP.NET 管道事件与HttpModule一个简单地实现
- asp.net[web.config] httphandlers 与实现自由定义访问地址
- 在 ASP.NET WebForms/MVC 中利用 HttpModule 添加全局站点统计(CNZZ、百度统计、Google Analytics等)脚本
- 利用 HttpModule,基于输出,统一控制、干预、处理(例如: 过滤关键字、AntiXSS) ASP.Net WebForm Control 展现属性的方案原型
- asp.net利用HttpModule实现防sql注入
- 一个PDF合并操作实现类,利用iTextSharp控件实现(http://www.diybl.com/course/4_webprogram/asp.net/asp_netxl/2008109/149644.html)
- asp.net[web.config] httphandlers 与实现自由定义访问地址
- 在 ASP.NET WebForms/MVC 中利用 HttpModule 添加全局站点统计(CNZZ、百度统计、Google Analytics等)脚本
- Asp.net Web Applicatoin实现自定义HttpModule拦截异常处理
- 利用AJAX和ASP.NET实现简单聊天室
- ASP.NET 框架 之HttpModule 例程:实现登录控制和权限控制
- ASP.NET 2.0利用Httphandler实现URL重写(伪URL及伪静态)(转)
- 【转】【简单Web服务器搭建】基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
- asp.net IHttpModule实现权限控制
- asp.net中的web.config文件通用版本,免出现httpRuntime错误