0

私はオランダ語のウェブサイトを持っています。http://www.domain.comとhttp://www.domain.com/germanへのドイツ国旗ボタン。

私は、ローカル言語ドイツ語でドイツ語と呼ばれるストア ビューを作成しました。リンクwww.domain.com/germanでこのストアビューを表示するにはどうすればよいですか

4

1 に答える 1

0

これを行う方法はいくつかあります。

1) URL で店舗コードを有効にします。

Magento では、ストア ビューのストア コードを URL に追加できます。たとえば、オランダのストア ビューに code がdutchあり、ドイツのストア ビューに code がある場合german、Magento は正しいストアを自動的に読み込みます。domain.com/dutchはオランダ語版をdomain.com/german読み込み、ウェブサイトのドイツ語版を読み込みます。このソリューションの欠点は、メイン ドメインに対してもストア コードが追加されることです。

構成設定は、管理パネル (別名バック オフィス、BO) > システム > 構成 > Web > URL オプションにあります。「URL に店舗コードを追加」オプションがあります。

2).htaccessファイルを編集します。

解決策 1) の欠点を回避したい場合は、メイン.htaccessファイルを変更できます。サフィックスを検索し/germanてドイツの店舗コードをロードするエントリを追加します。ここに小さな例があります (私はこの問題の専門家ではありませんが、次のようになるはずです):

SetEnvIf Host .*domain.com/german.* MAGE_RUN_CODE="german"

あなたはもっと遊ぶことができ.htaccessます。.htaccess物事についてもっと知りたい場合は、ウェブを検索してください。

index.php3)アプリケーションの修正

これはソリューション 2) と非常に似ていますが、PHP で直接実行します。探す

$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

index.php の行を次のように置き換えます。


if (!$_SERVER['MAGE_RUN_CODE'] && strpos($_SERVER['HTTP_HOST'], '/german') !== false) {
    $mageRunCode = 'german';
} else {
    $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
}

4) Apache 仮想ホストに新しいエントリを追加します。

ドメイン用の新しい仮想ホスト (vhost) を作成し、domain.com/germanそこに配置しSetEnv MAGE_RUN_CODE "german"ます。

私の意見では、最良の選択肢は 2) です。これは最も柔軟で、コードを変更する必要はありません。開発用ワークステーション 4) でも十分です。

これらは一例であり、最初のショットでは機能しない場合があることに注意してください。これは私の記憶から書いているので、今は実際に確認することはできません。これにより、状況に対処する方法の簡単なアイデアが得られることを願っています.

于 2013-04-02T16:31:45.717 に答える