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

ASP.NET之HttpModule拦截404异常

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:50:31       共计:3588 浏览
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>
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:什么是流程图? | ·下一条:编写自己的HttpModule

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

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