301重定向1:利用Web.config的HttpModule实现整站301永久重定向
2011-07-07 16:10
399 查看
之前是做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
现在利用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
using System; using System.Web; using System.Configuration; namespace ChangeDomain {写完这个基本就ok了。剩下的就是在web.config里注册一下就好了。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(); } } } }
<httpModules> <add name="ChangeDomain" type="ChangeDomain.RedirectNewDomain, ChangeDomain" /> </httpModules>上面的命名也是我这边的粗陋命名,具体的web.config注册写法如下:
<add name="随便命名" type="HttpModule命名空间加类名,dll文件名" />
相关文章推荐
- asp.net 利用Web.config的HttpModule 实现整站301永久重定向(简单方便)
- asp.net 利用Web.config实现整站301永久重定向
- 在 ASP.NET WebForms/MVC 中利用 HttpModule 添加全局站点统计(CNZZ、百度统计、Google Analytics等)脚本
- asp.net利用HttpModule实现防sql注入
- 利用HttpModule实现防sql注入
- 利用web.config来实现登陆验证
- 利用HttpModule实现URL重写
- asp.net简单实现利用HttpModule实现防sql注入
- 利用HttpWebRequest来实现提交和获取网页数据
- 利用HttpWebRequest以POST方式提交Json数据-后台实现不同平台间的数据传输
- FCL小应用系列-----------如何利用APM实现HttpWebRequest异步发送接收
- (转载)利用HttpWebRequest通过POST Json数据在.net后台实现不同平台间的数据传输
- 利用socket自己实现基于HTTP协议的Web客户端
- 在 ASP.NET WebForms/MVC 中利用 HttpModule 添加全局站点统计(CNZZ、百度统计、Google Analytics等)脚本
- 一个PDF合并操作实现类,利用iTextSharp控件实现(http://www.diybl.com/course/4_webprogram/asp.net/asp_netxl/2008109/149644.html)
- The MagicAjax HttpModule is not included in web.config. Add [<httpModules><add name="MagicAjax" type="MagicAjax.MagicAja
- IIS7 里注册HttpModule和IIS6 里注册时候 在WEB.CONFIG里有所不同
- 使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现*.HTML伪静态 无需修改应用程序映射
- IHttpModule在webconfig中的注册
- asp.net[web.config] httphandlers 与实现自由定义访问地址