1

私は問題に直面しています。プロジェクトでアクション名をローカライズして、フランス人がフランス語の名前のきれいな URL を持つことができるようにしたいと考えています。

http://www.test.com/Homeは http://www.test.com/Accueil である必要があります

これは、Google のインデックス登録にも適しています。さらに、私はアプリケーションで安らかになりたいと思っています.

それが可能かどうか、そしてその方法はわかりません。

私の最初のアイデアは、ブラウザーの言語を取得し、それを CurrentThread.CurrentCulture に割り当てて、必要なビュー名を選択できるようにすることです。

回答ありがとうございます。

4

2 に答える 2

4

これは、global.asax にルートを登録するときに実行できます。

通常、これがある場合:

routes.MapRoute("Catalog-Brands", "catalog/brand/", new {controller = "Brand", action = "Index", isActive = true});

あなたもこれを作ることができます(私はフランス語を知りません、ごめんなさい)

routes.MapRoute("Catalog-Brands-French", "french-catalog/french-brand/", new {controller = "Brand", action = "Index", isActive = true});

それらをすべてグローバルに利用できるようにするか、個別に用意することができます:

public static void RegisterUsRoutes

public static void RegisterFrenchRoutes

ただし、アプリケーションの起動時に決定する必要があります (実行時にルートを登録できる場合とできない場合があります)。

于 2008-11-24T22:32:15.130 に答える
2

ISAPIを使用できる場合、つまりIISを制御している場合は、ISAPIを使用するのが最善です。IonicsIsapiをお勧めします:http: //www.codeplex.com/IIRF

これは、ApacheのRewrite modが行うこと(リダイレクト)を多かれ少なかれ実装します。

于 2008-11-25T00:02:44.603 に答える