製品の着信 URL は mydomain.com/someproductname.html になります。そのような URL のみを処理するようにルートを制限する必要があります。チェックの大文字と小文字も区別しないようにします。以下のルートよりもそのような制限を適用しない場合、別のルートで処理する必要がある mydomain.com/level1category/ などの URL リクエストも取得します。
制約したいルート (「ItemName」セグメントを制約する必要があります):
routes.MapRoute(
"ProductLink4", // Route name
"{RootPointer}/{L1Cat}/{L2Cat}/{ItemName}", // URL with parameters
new
{
controller = "Store",
action = "ViewProduct",
},
new { controller = "Store", action = "ViewProduct" ItemName = @"[^\\s]+(\\.(?i)(html))" });
routes.MapRoute(
"ProductLink3", // Route name
"{RootPointer}/{L1Cat}/{ItemName}", // URL with parameters
new
{
controller = "Store",
action = "ViewProduct",
},
new { controller = "Store", action = "ViewProduct" });
routes.MapRoute(
"ProductLink2", // Route name
"{RootPointer}/{ItemName}", // URL with parameters
new
{
controller = "Store",
action = "ViewProduct",
},
new { controller = "Store", action = "ViewProduct" });
}