专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016      微信咨询  |  联系我们

ASP.NET之HttpModule拦截404异常

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:58:06       共计:3669 浏览

Httpmodule代码:

public class Error404Module : IHttpModule

   {

       public void Init(HttpApplication context)

       {

           context.Error += new EventHandler(Context_Error);

       }


       protected void Context_Error(object sender, EventArgs e)

       {

           HttpContext ctx = HttpContext.Current;

           HttpResponse response = ctx.Response;

           HttpRequest request = ctx.Request;


           Exception ex = ctx.Server.GetLastError();

           HttpException hex = ex as HttpException;

           if (hex != null && hex.GetHttpCode() == 404)

           {

               ctx.Server.ClearError();

               string url = request.Url.AbsoluteUri.ToLower();

               if (url.Contains(@"http://hj.woniu.com"))

               {

                   url = url.Replace(@"http://hj.woniu.com", @"http://sg.hj.woniu.com");

               }

               response.Redirect(url, true);

           }

       }

       public void Dispose()

       {


       }

   }


Web.Config配置:

<httpModules>

     <add name="Error404Module" type="ActHJ.ErrorModules.Error404Module"/>

  </httpModules>



<system.web>

   <compilation debug="false">

     <assemblies>

       <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

       <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

       <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

       <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

     </assemblies>

     <buildProviders>

       <add extension=".html" type="System.Web.Compilation.PageBuildProvider" />

       <add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />

     </buildProviders>

   </compilation>



<system.webServer>

   <validation validateIntegratedModeConfiguration="false"/>

   <modules>

     <remove name="ScriptModule"/>

     <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

     <add name="Error404Module" type="ActHJ.ErrorModules.Error404Module"/>

   </modules>

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:office2007官方免费完整破解版下载(附产品激活密钥) | ·下一条:实现IHttpModule接口,给每个页面输出一段脚本

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有