public override void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { if(Sitecore.Context.Item == null && !args.Context.Request.Url.AbsolutePath.StartsWith("/sitecore") { args.Context.Response.Clear(); SiteContext site = Sitecore.Context.Site; if(site != null) { Item item404Page = Sitecore.Context.Database.GetItem(site.RootPath + "website/error/404"); if(item404Page != null) { Sitecore.Context.Item = item404Page; args.Context.Response.StatusCode = (int) System.Net.HttpStatusCode.NotFound; } } } }
public void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { if (Sitecore.Context.Item == null) { string message = String.Format( "{0} : context item null : {1}", this.GetType().ToString(), Sitecore.Web.WebUtil.GetRawUrl()); Sitecore.Diagnostics.Log.Error(message, this); } else if (Sitecore.Context.Site == null) { string message = String.Format( "{0} : context site null : {1}", this.GetType().ToString(), Sitecore.Web.WebUtil.GetRawUrl()); Sitecore.Diagnostics.Log.Error(message, this); } else if (this.LanguageSetFromUrlPath() || this.LanguageSetFromQueryString() || this.LanguageSetFromCookie() || this.LanguageSetFromBrowserPreferences() || this.LanguageSetFromContextSite() || this.LanguageSetFromDefaultSetting() || this.LanguageSetToFirstExistingLanguage()) { if (this.SetCulture) { System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Sitecore.Context.Language.Name); System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Sitecore.Context.Language.Name); } } else { string message = String.Format( "{0} : Unable to determine valid context language : {1}", this.GetType().ToString(), Sitecore.Web.WebUtil.GetRawUrl()); Sitecore.Diagnostics.Log.Error(message, this); } }
public override void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { base.Process(args); if (Sitecore.Context.Item != null && System.Web.HttpContext.Current != null) { var url = Sitecore.Context.Item.GetUrl(); var context = System.Web.HttpContext.Current; var rawUrl = context.Request.RawUrl; if (!rawUrl.Contains(url) && !rawUrl.Contains("/sitecore/") && !url.Contains(Sitecore.Configuration.Settings.GetSetting(Constants.Settings.WildcardUrlPlaceholder))) { if (!string.IsNullOrEmpty(context.Request.Url.Query)) { url += context.Request.Url.Query; } context.Response.RedirectPermanent(url); } } }
public override void Process(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { if(Sitecore.Context.Item == null && !args.Context.Request.Url.AbsolutePath.StartsWith("/sitecore") { args.Context.Response.Clear(); SiteContext site = Sitecore.Context.Site; if(site != null) { Item item404Page = Sitecore.Context.Database.GetItem(site.RootPath + "website/error/404"); if(item404Page != null) { WebClient webClient = new WebClient(); webClient.Encoding = args.Context.Request.ContentEncoding; webClient.Headers.Add("User-Agent", args.Context.Request.UserAgent); string page = webClient.DownloadString(LinkManager.GetItemUrl(item404Page)); args.Context.Response.StatusCode = (int) System.Net.HttpStatusCode.NotFound; args.Context.Response.Write(page); args.Context.Response.TrySkipIisCustomErrors = true; args.Context.Response.End(); } } } }
public override void SiteProcess(Sitecore.Pipelines.HttpRequest.HttpRequestArgs args) { Log.Info(Sitecore.Context.Site.Name + " used the 301 redirect Pipeline", this); }