我最终通过以下方式解决了我的问题:
一种。在我的 Web.Internal.config 文件中,我添加了这个转换:
<appSettings>
<add key="Environment" value="Production Internal(Live)" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
现在,当我将解决方案部署到内部站点时,Web.config 中的 Environment 值被“Production Internal(Live)”覆盖
湾。然后,我在默认控制器中添加了一个检查,并在 Web.config 中查找环境值的操作
var InternalorExternalSite = Convert.ToString(ConfigurationManager.AppSettings["Environment"]);
if (InternalorExternalSite == "Production Internal(Live)")
{
return RedirectToAction("", "", new { area = "Internal" });
}
在我的情况下,上面的代码将检查环境值是否等于“Production Internal(Live)”,并将请求重定向到“Internal”区域。
现在,当内部用户导航到http://www.internalsite.com时,他们将被重定向到区域http://www.internalsite.com/internal
当外部用户导航到http://www.externalsite.com时,他们不会被重定向到任何区域,但如果您需要,您可以根据上述内容将用户重定向到任何区域。