static bool CheckForHostnameAliasRedirect(HttpContext httpContext) { if (UrlUtils.IsAdminConsoleRequest(httpContext) || UrlUtils.IsRendererRequest(httpContext) || new UrlSpace(httpContext).ForceRelativeUrls) { return(false); } var hostnameBinding = HostnameBindingsFacade.GetAliasBinding(httpContext); if (hostnameBinding == null) { return(false); } string hostname = httpContext.Request.Url.Host.ToLowerInvariant(); var request = httpContext.Request; string newUrl = request.Url.AbsoluteUri.Replace("://" + hostname, "://" + hostnameBinding.Hostname); httpContext.Response.Redirect(newUrl, false); httpContext.ApplicationInstance.CompleteRequest(); return(true); }
private static string GetPagePreviewUrl(PageUrlData pageUrlData) { var httpContext = HttpContext.Current; var urlSpace = new UrlSpace(); if (HostnameBindingsFacade.GetBindingForCurrentRequest() != null || HostnameBindingsFacade.GetAliasBinding(httpContext) != null) { urlSpace.ForceRelativeUrls = true; } return(PageUrls.BuildUrl(pageUrlData, UrlKind.Public, urlSpace) ?? PageUrls.BuildUrl(pageUrlData, UrlKind.Renderer, urlSpace)); }