- Go to
Admin > Stores > All Stores
- Click >
Create Web Site
- In the Name field, enter store name.
- e.g.
Japan
- e.g.
- In the Code field, enter a unique string without spaces and >
Save Web Site
- e.g.
super_jp
- e.g.
- Create Store
- Create Store View
- Go to
Stores > Configuration
- Select the website we just created.
- Go to Web & change both Base URLs & Base URLs (Secure)
- e.g.
Base URL: http://example.com/
Base Link URL: {{unsecure_base_url}}jp/
- ... same goes for Base URLs (Secure)
- e.g.
- Save. Clear Cache. Reindex.
-
Create a subfolder with the desired name.
- e.g.
/jp/
- e.g.
-
Copy
index.php & .htaccess
from root (!important copy both files) -
Open
index.php
clear everything inside it and paste:require realpath(__DIR__) . '/../app/bootstrap.php'; $params = $_SERVER; $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'super_jp'; // change this with the code you chose in step. 4 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website'; // store or website $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); $app = $bootstrap->createApplication('Magento\Framework\App\Http'); $bootstrap->run($app);
-
Save. Clear Cache. Reindex.
-
Enjoy your new website inside a subdir.
Check your dev tools console, are you receiving 404 for theme assets? You can either set the static and media urls as mikelevy300 suggested
You can also (if you prefer) simply add a symlink in your new "web roots" (ie subdirectories) to the pub folder in the main install location. Something like
cd <full-path-to-install-root>
ln -s pub <subdirectory>/