0

nopCommerce 2.2 を使用しています。以下で説明する URL ルーティングに問題があります。

次のルートを使用したいです。

routes.MapLocalizedRoute("Product",
                       "{region}/{bookTitle}-{isbn}",
                       new { controller = "Catalog", action = "Product" },
                       new[] { "Nop.Web.Controllers" });

したがって、URL は次のようになります。 http://localhost:3129/us/303-tips-for-successful-12345

しかし、残念ながら私はエラーが発生しています


「/」アプリケーションでサーバー エラーが発生しました。

リソースが見つかりません。

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /303-tips-for-successful-12345


上記の URL (「/303-tips-for-successful-12345」) では、最初のセグメント「us」が欠落しています..

ルートプロバイダーで次のルートを使用する場合(静的セグメント「p」を追加)、

routes.MapLocalizedRoute("Product",
                       "p/{region}/{bookTitle}-{isbn}",
                       new { controller = "Catalog", action = "Product" },
                       new[] { "Nop.Web.Controllers" });

エラーなしで完璧な URL を取得します。

http://localhost:3129/p/us/303-tips-for-successful-12345
4

1 に答える 1

0

ルートは、標準の {Controller}/{Action} の形式と一致します。ルーティング エンジンには、/us がコントローラーかリージョンかを知る方法がありません。

于 2012-03-22T12:30:13.370 に答える