public override void Process(HttpRequestArgs args) { if (UrlUtil.IsValidUrls(args.LocalPath)) { return; } if (Context.Item == null) { return; } var currentItem = Context.Item; var homeItemPath = this._sitecoreContext.Site.StartPath; if (currentItem.Paths.Path.ToLower().Contains(homeItemPath.ToLower()) && currentItem.Visualization.Layout == null) { var itemNotFoundPageItemPath = this._sitecoreContext.ItemNotFoundPage; if (string.IsNullOrEmpty(itemNotFoundPageItemPath)) { return; } var pageNotFoundItem = UrlUtil.GetPageNotFoundItem(itemNotFoundPageItemPath); if (pageNotFoundItem != null) { RedirectUtil.Do500Redirect(HttpContext.Current.Response, pageNotFoundItem); } } }