私は次の方法で問題を解決しました:
を。Web.Internal.config ファイルに、次の変換を追加しました。
<appSettings>
<add key="Environment" value="Production Internal(Live)" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
ソリューションを内部サイトにデプロイすると、Web.config の環境値が "Production Internal(Live)" で上書きされます
b. 次に、デフォルトのコントローラーとアクションにチェックを追加して、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に移動すると、どの領域にもリダイレクトされませんが、必要に応じて、上記に基づいてユーザーを任意の領域にリダイレクトできます。