最終的に4つの言語と2つの国(米国とカナダ、英語とスペイン語)をサポートするサイトがあります
ディレクトリ構造を設定するための最良の方法は何ですか?
現在、site.comというルートサイトがあります。
これにより、国と言語を選択するページに移動します。
理想的には、次のようなディレクトリが必要です。
site.com/ca/en/ (Canada English)
site.com/ca/fr/ (Canada French)
site.com/us/en/ (US English)
site.com/us/es/ (US Spanish)
しかし、それは私が「ca」と「us」の仮想ディレクトリと言語の仮想ディレクトリをその中に置くことを意味します。それは良い習慣ですか、それとも私は次のようなことをすべきですか?
site.com/ca-en/ (Canada English)
site.com/ca-fr/ (Canada French)
site.com/us-en/ (US English)
site.com/us-es/ (US Spanish)
編集:私は次のことをしました:
アプリケーションにはダミーディレクトリ/ca/と/us/があります。どちらにも、単なるリダイレクトであるdefault.aspxがあります。私の場合、私は彼らを彼らの英語のサイトにリダイレクトします:
例:site.com/ca/-> site.com/ca/en/ site.com/us/-> site.com/us/en/
site.comにアクセスすると、言語選択ページに移動します。基本的に、言語/カルチャ文字列を探すために、すべてのリクエストでGlobal.asaxの正規表現を使用します。
これには次の利点があります。国の分離。したがって、site.com / ca/またはsite.com/us/を制御し、国ごとに簡単なURLを提供できます。
とにかく、仮想ディレクトリ/ en /、/ fr /、および/ es /は、それぞれの国の物理フォルダ内にあります。
したがって、次のようになります(仮想Dirは太字で示されています)。
site.com/ca/ en /(デフォルト)site.com/ca/ fr / site.com/us/ en /(デフォルト)site.com/us/ es /
これが意味するのは、URLを使用して現在の言語と国を取得できる(そして適切なデータベースを指すことができる)ことを除いて、5つの(同一の)アプリケーションが必要であることです。