I have an HttpModule that redirects certain URLs: s in an ASP.NET WebForms application. It works on my machine with ASP.NET Development Server. But when I upload it to our Win2k8 server using IIS7, it does not seem to respond at all. I put <add name="Test.Web" type="Test.Web.Core.HttpModules.RedirectOldUrls, Test.Web" /> in the system.webServer / modules section, and inetmgr I see the module among others. The website seems to behave the same way as before I download the code that it shouldn't.
Edited code example:
public void Init(HttpApplication context) { context.Error += PageNotFoundHandler; } public static void PageNotFoundHandler(object sender, EventArgs evt) { Exception lastErrorFromServer = HttpContext.Current.Server.GetLastError(); if (lastErrorFromServer != null) { RedirectToNewUrlIfApplicable(); } } private static void RedirectToNewUrlIfApplicable() { string redirectUrl = GetRedirectUrl(); if (!string.IsNullOrEmpty(redirectUrl)) { HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", redirectUrl); } } private static string GetRedirectUrl() { return RedirectableUrls.GetUrl(); }
source share