0

SEO に適した URL を作成したいと考えています。

以下は、私の Global.ascx エントリです。

 ルート.MapRoute(
     "製品"、
     "{action}/{param1}/{id}",
     new { controller = "ホーム", action = "インデックス" });

 ルート.MapRoute(
     "デフォルト"、
     "{controller}/{action}/{id}",
     new { controller = "Home", action = "Index", id = UrlParameter.Optional });

最初のマッピングは、コントローラー名を URL に表示したくないためです。次のマッピングは、URL の残りの部分です。

問題は、次のようなエラーが発生する URL がいくつかあることです。

http://localhost:1234/index/my-product-information/12 : パス
http://localhost:1234/contentcontrol/index : パス
http://localhost:1234/contentcontrol/index/12 : 失敗

ここで、 index : アクション名 contentcontrol : コントローラー名

これをどのように解決すればよいですか。

前もって感謝します。

4

1 に答える 1

0

あなたが抱えている問題は、3 つのセグメントを持つ URL へのリクエストに関しては、最初のルートと 2 番目のルートを区別するものがないため、最初のルートがそれらのすべてのリクエストをキャッチし、2 番目のルートを「隠す」ことです。これを回避するには、たとえば最初のルート パターンを作成して、2 つのルートを区別する必要があります。

"/Go/{action}/{param1}/{id}"
于 2012-10-16T10:18:00.917 に答える