Application_PreRequestHandler在找不到404页面时执行重定向

时间:2016-02-05 15:52:04

标签: c# asp.net redirect global-asax

我正在尝试从我拥有的多个域中记录引用来执行301永久重定向到我们的安全站点。所以我通过IIS有两个网站。

http://www.cool_domain.com/会重定向到https://www.real_domain.com/作为示例。在此过程中,我想记录,然后在PreRequestHandlerExecute方法中重定向。

如果页面未找到(404),则不会触发Application_PreRequestHandlerExecute。如果它存在,它就会发射得很好。

void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
    if (Context.Handler is IRequiresSessionState || Context.Handler is IReadOnlySessionState)
    {
        LogPage(Request);
        HttpContext.Current.Response.RedirectPermanent("https://www.real_domain.com/", true);
    }
}

我怎样才能在404期间解决这个问题?

1 个答案:

答案 0 :(得分:0)

愚蠢的错误,我应该知道......如果有其他人遇到这个,并且还有一个脑筋,global.asax将不会执行404错误,除非它是.net页面(aspx等。 )。