이 작업을 수행하기 위해 여러 가지 방법을 시도했습니다. 첫 번째 읽을 때 그의 대답을 이해하지 못했지만 그의 기여에 대해 @ matias-hidalgo에게 감사하고 싶습니다 :).
시나리오는 다음과 같습니다. 우리는이 두 개의 서로 다른 웹 사이트, 각 웹 사이트가 이 개 다음과 같이 서로 다른 매장보기 :
웹 사이트 1
- 웹 사이트 1 (전자 상거래)
- 웹 사이트 1 (Venda Assistida)
웹 사이트 2
- 웹 사이트 2 (전자 상거래)
- 웹 사이트 2 (Venda Assistida)
내 솔루션에서는 Magento Admin의 일부 구성을 변경하려고합니다 . 그런 다음 일부 하위 폴더 를 만들고 마지막으로 수정nginx.conf
합니다.
우선, Magento Admin 에서 일부 구성을 변경해야합니다 . 이동 Stores
> - Configuration
-> General
-> Web
. 각 상점보기마다 기본 URL 을 변경해야합니다 .
기본 구성
기본 구성에 대해 다음 구성을 제공하십시오.
웹 사이트 1 (전자 상거래) 및 웹 사이트 1 (Venda Assistida)
모든 Website 1 상점보기에 대해 다음 구성을 제공하십시오 .
웹 사이트 2 (전자 상거래) 및 웹 사이트 2 (Venda Assistida)
모든 Website 2 상점보기에 대해 다음 구성을 제공하십시오 .
둘째, 우리는 만들 필요 website1
하고 website2
의 폴더 /pub
디렉토리. 마지막으로 다음 폴더가 있어야합니다.
MAGENTO_ROOT/pub/website1
MAGENTO_ROOT/pub/website2
pub/index.php
파일을이 디렉토리로 복사하십시오 . 그런 다음 MAGENTO_ROOT/pub/website1/index.php
및 에서 일부 내용을 변경 MAGENTO_ROOT/pub/website2/index.php
합니다.
의 내용 MAGENTO_ROOT/pub/website1/index.php
3 줄만 변경했습니다.
첫번째 줄 : require __DIR__ . '/../../app/bootstrap.php';
두 번째 줄 : $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'website1';
세번째 줄 : $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
<?php
/**
* Public alias for the application entry point
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
use Magento\Framework\App\Bootstrap;
use Magento\Framework\App\Filesystem\DirectoryList;
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;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'website1';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
$params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [
DirectoryList::PUB => [DirectoryList::URL_PATH => ''],
DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'],
DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'],
DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'],
];
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
마지막으로 nginx.conf
MAGENTO_ROOT 디렉토리에서 수정해야합니다 . 에 다음 구성을 입력하십시오 nginx.conf
.
location /website1 {
root /website1;
if (!-e $request_filename) {
rewrite ^/(.*)$ /website1/index.php last;
break;
}
}
location /website2 {
root /website2;
if (!-e $request_filename) {
rewrite ^/(.*)$ /website2/index.php last;
break;
}
}
이 모든 구성 및 수정 후에는 웹 사이트를 하위 폴더로 사용할 수 있습니다. 도움이 되길 바랍니다.