1


Magento - site.com にショップがあります。sub1.site.com、sub2.site.com、sub3.site.com などのサブドメインのストア ビューもあります。すべてが正常に機能しますが、ビットごとに設定されたテーマはサブドメインでは機能しません。テーマは Mage :: getUrl () を使用して、AJAX クイック ビューとカートに追加するための URL を生成します。ストアのベース URL を使用します。
メイン サイト site.com からすべて正常に動作し、プレビュー AJAX が動作します。サブドメイン sub1.site.com/catalog/ajax_product/view を形成するためのベース URL が、site.com / catalog / ajax_product / view の形式である必要があるため、サブドメインでは機能しません。次のようなサブドメインの htaccess へのリダイレクト:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(catalog/ajax_product/.*|checkout/cart/add/.*)$
RewriteRule ^(.*)$ http://site.com/$1/ [R=301,L]

動作しません!

ヘルプ!

4

1 に答える 1

0

アプリケーションの構成が正しいかどうかわかりません。私の意見では、リダイレクトを行う必要はありません.htaccess。したがって、ここにいくつかのチェックポイントがあります。

1) 各ストア ビュー (サブドメイン) のバック オフィス (管理者パネル) で、正しいベースの安全な URL と安全でない URL を設定していることを確認します。

System > Configuration > Web > (Un)secure > Base Url

デフォルトではhttp://store.comが存在し、Web サイトごとに (Magento スコープに関して) URL が異なる必要があります。

2) ストア ビューごとに Cookie ドメインを設定する必要があります。

System > Configuration > Web > Session Cookie Management > Cookie Domain

デフォルト ストアの場合は空のままにしておくことができますが、その他の場合は入力する必要があり.sub1.store.comます.sub2.store.com

3) 各ドメインに Apache 仮想ホストを設定します。

vhosts 構成には、、、などのsite.com個別のエントリが必要です。sub1.site.com

ドメインに基づいてロードするストア ビューを定義できるようになりました。これは、次の 3 つの方法で行うことができます。

  • .htaccess
  • アプリケーションのindex.phpを修正
  • vhost で適切な環境変数を直接設定する

この投稿では言及されている各ソリューションを見つけることができます。

Magento で複数のストア ビューとドメインを処理している間、適切なストア コードをMage::run()メソッドにロードしようとしています。

解決策の例を次に示し.htaccessます。

SetEnvIf Host .*sub1.site.com.* MAGE_RUN_CODE="sub1"
SetEnvIf Host .*sub2.site.com.* MAGE_RUN_CODE="sub2"

すべて正しい設定を行った後、キャッシュをフラッシュし、すべてのエンティティの再インデックスを実行することを忘れないでください。

于 2013-04-04T10:20:59.853 に答える