Add "ApplicationPath" in tenant URL

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-07-27 19:45:22 -07:00
parent 3bb06ec058
commit d64a0e8aaa

View File

@@ -4,18 +4,24 @@ using Orchard.Environment.Configuration;
namespace Orchard.MultiTenancy.Extensions {
public static class UrlHelperExtensions {
public static string Tenant(this UrlHelper urlHelper, ShellSettings tenantShellSettings) {
//info: (heskew) might not keep the port insertion around beyond...
//info: (heskew) might not keep the port/vdir insertion around beyond...
var port = string.Empty;
string host = urlHelper.RequestContext.HttpContext.Request.Headers["Host"];
if(host.Contains(":"))
if (host.Contains(":"))
port = host.Substring(host.IndexOf(":"));
return string.Format(
"http://{0}/{1}",
!string.IsNullOrEmpty(tenantShellSettings.RequestUrlHost)
? tenantShellSettings.RequestUrlHost + port : host,
tenantShellSettings.RequestUrlPrefix);
var result = string.Format("http://{0}",
!string.IsNullOrEmpty(tenantShellSettings.RequestUrlHost)
? tenantShellSettings.RequestUrlHost + port : host);
if (!string.IsNullOrEmpty(tenantShellSettings.RequestUrlPrefix))
result += "/" + tenantShellSettings.RequestUrlPrefix;
if (!string.IsNullOrEmpty(urlHelper.RequestContext.HttpContext.Request.ApplicationPath))
result += urlHelper.RequestContext.HttpContext.Request.ApplicationPath;
return result;
}
}
}