このことは私を怒らせています:
ブラウザのURL------->物理パス
http://somedomain/routeName ----> ~/Default.aspx WORKS
http://somedomain/routeName/anypage.aspx ----> ~/anypage.aspx WORKS
http://somedomain/routeName/anyfolder ----> ~/anyfolder/Default.aspx DOESNT WORK
http://somedomain/routeName/anyfolder/anypage.aspx ----> ~/anyfolder/anypage.aspx WORKS
ここで、anypage.aspxはaspxページのいずれかです
ここで、anyfolderは任意のパスです
私はこのルートを使用しています:
var sb = new StringBuilder("(");
foreach (Poll item in DataProvider.Get<IPollProvider>().GetAll())
{
sb.AppendFormat("{0}|", item.Name);
}
sb.Length--;
sb.Append(")");
RouteTable.Routes.MapPageRoute("Alias", "{pollName}/{*url}", "~/{url}", true, new RouteValueDictionary{{"url","~/Default.aspx"}}, new RouteValueDictionary { { "pollName", sb.ToString() } });
これは、MVCではなく、従来のasp.netサイトです。
UrlRoutingModuleがロードされたIIS7統合モード
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />