magento 2で複数のWebサイトを作成するためのソース/手順を提供してください。これについてはGoogleで確認していますが、複数のWebサイト/ストアを作成するためのパスを提供するソース/手順はありません。
magento 2で複数のWebサイトを作成するためのソース/手順を提供してください。これについてはGoogleで確認していますが、複数のWebサイト/ストアを作成するためのパスを提供するソース/手順はありません。
回答:
magentoでマルチWebサイトを作成し、管理パネルでマルチストアを作成する手順は、magento1.xと同じです。新しいウェブサイト/ストアのベースURLとセキュアURLを変更することを忘れないでください。管理パネルで変更を行ったら、次の手順に従ってください。
1)magentoルートに新しいフォルダーindex.php
を.htaccess
作成し、magentoルートから新しいフォルダーにファイルをコピーします。
2)index.php
新しいフォルダーにあるを編集します
交換:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
と:
$params = $_SERVER;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'newstore'; //Webite code as same in admin panel
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
また、以下のようにbootstrap.phpインクルードパスを更新します。
交換:
require __DIR__ . '/app/bootstrap.php';
と:
require __DIR__ . '/../app/bootstrap.php';
3)新しいフォルダー内にsimlinksを作成します
ln -s /home/example/example.com/html/app/ app
ln -s /home/example/example.com/html/lib/ lib
ln -s /home/example/example.com/html/pub/ pub
ln -s /home/example/example.com/html/var/ var
これを参照
var/generation,var/cache and pub/static
ファイルをクリアして、静的コンテンツの展開を行ってください。
.htaccess
(と一緒にindex.php
)コピーする必要があると思います。
このリソースのおかげで
Magentoバックエンドで、[ストア]> [すべてのストア]に移動します。ここで、異なるWebサイト/ストア/ストアビューを使用してアーキテクチャを作成します。
Nginx構成ファイル(/ etc / nginx / sites-enabledフォルダーにある可能性が高い)に、構成ファイルの先頭に追加します。
map $HTTP_HOST $mage_run_code {
www.store.com us;
www.store.fr fr;
www.store.es es;
}
次に、server
ブロックで、3つのドメインをリッスンする宣言を追加します。
server {
listen 80;
server_name www.store.com www.store.fr www.store.es;
// whatever other config you get...
}
最後に、php config(で始まるブロックlocation ~ \. php $ {
)に追加します
fastcgi_param MAGE_RUN_TYPE website;
fastcgi_param MAGE_RUN_CODE $mage_run_code;
行の前(通常、で始まる他の行が表示されますfastcgi_param
)
include fastcgi_params;
設定ファイルを保存し、Nginxサーバーを再起動してください。
RTFM
https://devdocs.magento.com/guides/v2.3/config-guide/multi-site/ms_over.html
内容
MAGE_RUN_TYPE
し、MAGE_RUN_CODE
magento 2.2.5でテストされた簡単な方法
サーバー例domain2.comでドメインエイリアスを作成します
magentoルートのindex.phpファイルを編集します
try {
require __DIR__ . '/app/bootstrap.php';
} catch (\Exception $e) {
echo <<<HTML
<div style="font:12px/1.35em arial, helvetica, sans-serif;">
<div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;">
<h3 style="margin:0;font-size:1.7em;font-weight:normal;text-transform:none;text-align:left;color:#2f2f2f;">
Autoload error</h3>
</div>
<p>{$e->getMessage()}</p>
</div>
HTML;
exit(1);
}
$params = $_SERVER;
$customstore = array(
'www.main.com'=>'main_website', // Website, Store or Storeview Code
'www.domian2.com'=>'domain2_website' // Website, Store or Storeview Code
);
if(isset($customstore[$_SERVER['HTTP_HOST']]))
$websitecode = $customstore[$_SERVER['HTTP_HOST']];
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = isset($websitecode) ? $websitecode : '';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';//use website or store or view
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);