diff --git a/src/Orchard.Web/Modules/Orchard.MultiTenancy/Extensions/UrlHelperExtensions.cs b/src/Orchard.Web/Modules/Orchard.MultiTenancy/Extensions/UrlHelperExtensions.cs index e03ff5c77..236d45d23 100644 --- a/src/Orchard.Web/Modules/Orchard.MultiTenancy/Extensions/UrlHelperExtensions.cs +++ b/src/Orchard.Web/Modules/Orchard.MultiTenancy/Extensions/UrlHelperExtensions.cs @@ -4,11 +4,17 @@ using Orchard.Environment.Configuration; namespace Orchard.MultiTenancy.Extensions { public static class UrlHelperExtensions { public static string Tenant(this UrlHelper urlHelper, ShellSettings tenantShellSettings) { - return string.Format( - "http://{0}/{1}", - !string.IsNullOrEmpty(tenantShellSettings.RequestUrlHost) - ? tenantShellSettings.RequestUrlHost - : urlHelper.RequestContext.HttpContext.Request.Headers["Host"], + //info: (heskew) might not keep the port insertion around beyond... + var port = string.Empty; + string host = urlHelper.RequestContext.HttpContext.Request.Headers["Host"]; + + if(host.Contains(":")) + port = host.Substring(host.IndexOf(":")); + + return string.Format( + "http://{0}/{1}", + !string.IsNullOrEmpty(tenantShellSettings.RequestUrlHost) + ? tenantShellSettings.RequestUrlHost + port : host, tenantShellSettings.RequestUrlPrefix); } }