Aha!、それはちょっとした手間がかかりました(そしてピークと古い本)が、私はそれを解決したと思います。
カスタムルート制約を作成する必要があります。 これは私がすぐに作られたものです。
public class hostnameConstraint : IRouteConstraint
{
protected string _hostname;
public hostnameConstraint (string hostname)
{
_hostname = hostname;
}
bool IRouteConstraint.Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
if (httpContext.Request.Url.Host == _hostname)
return true;
return false;
}
}
を次にあなたは、単にあなたのルートにそれを追加して、ルートを適用したいホスト名を指定します。そうですね:
routes.MapRoute(
"ImageGallery", "{controller}/{action}",
new { controller = "Home", action = "Index"},
new { hostname = new hostnameConstraint("webhost1.com") }
);
routes.MapRoute(
"ImageGallery", "{controller}/{action}",
new { controller = "Home", action = "Index"},
new { hostname = new hostnameConstraint("webhost2.com") }
);
などなどです。あなたのルートがどのようにレイアウトされているのか分かりませんが、ポイントはホスト名のための別個のルートを持つことができることです。これは、あなたが何をしているのかを可能にするはずです。
あなたは私のヒーローです!私はちょうどこれをテストし、それは完全に動作しています。 –
これは素晴らしいです。まさに私が探していたもの。ドメインのリダイレクトをホストできるサイトを作成しています。私はサイトがリダイレクトと同様にドメインを管理したかったのです。この制約のあるルートを追加すると、通常のサイトをホストドメインの下に置くことができ、それに応じて他のドメインもリダイレクトされます。ありがとう! –