現在のホスティング会社では、複数のドメインのホストヘッダーエントリが1つのプライマリドメイン下の異なる仮想ディレクトリに許可されないため、Global.asax Begin_Request EventHandler 。これまでのところうまくいきます!ASP.Net MVC 3ネストされた仮想ディレクトリでのルーティング、403エラー
protected void Application_BeginRequest(object sender, EventArgs e)
{
Dictionary<string, string> domains = new Dictionary<string, string>() { { "otherdomain.com", "~/Other/Default.aspx" }, { "seconddomain.com", "~/SECOND/" } };
string requestedDomain = Request.ServerVariables["SERVER_NAME"].ToLower();
foreach (var domain in domains.Keys)
{
if (requestedDomain.Contains(domain))
Response.Redirect(domains[domain]);
}
}
これらの作業:
www.primarydomain.comは - 一致すると〜/ Default.aspxの
www.otherdomain.comにフォールスルーしない - 試合と〜/その他/ Default.aspxのに行きます( "〜/ Other /"ディレクトリも仮想ディレクトリであり、ASP.Netを使用しています)。
www.seconddomain.com - www.seconddomainname.com/seconds/ FAILS !!!
"〜/ SECOND /"ディレクトリも仮想ディレクトリですが、ASP.Net MVC 3とルーティングを使用していますが、エラーは「HTTP 403」で、ファイルのアクセス許可を必要としていることを示します。「SECOND "ディレクトリは、仮想Webディレクトリとして構成されています。
EDIT:追加されましたルート
routes.MapRoute(
"Default", // Route name
"/SECOND/{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
我々はおそらく、非常に基本的な何かを見逃している、またはその他のホスティング、ルーティングとASP.Netのこの種の構成のための総合的な解決策はありますか?
MVCアプリケーションで設定したルート – Lloyd
@Lloyd私はルートでコードを更新しました。 –