You are running a multi store with a specific catalog per domain.
composer require reach-digital/magento2-storeresolverWith the new implementation for the StoreResolverInterface the domains automatically get mapped to the correct store view. This reduces the need to modify code to get new domain names working.
- Register your domain
- Point the A-records to your server
Change index.php, .htaccess or nginx_config file to activate your domain nameStoreResolversolves this for you.
Store code will be removed from URL if added in the Base URL.
Make sure to explicitly set Base URL for Static View Files and Base URL for User Media Files without the store code
| Configuration | Value |
|---|---|
| Base URL | https://www.website.com/de/ |
| Base URL for Static View Files | https://www.website.com/static/ |
| Base URL for User Media Files | https://www.website.com/media/ |
It's not possible to have CMS pages with the same identifier as a store code!
Important note:
Base URLs which have no custom string set after the TLD, must be configured at website level, not on store level, else matching on URL can result in multiple stores, see\Ho\StoreResolver\Model\StoreResolver::getAutoResolvedStore
| Product | Default | Website | Store Group | Store View |
|---|---|---|---|---|
| Product prices | ✔ | ✔ | ||
| Product tax class | ✔ | ✔ | ||
| Product status | ✔ | ✔ | ||
| Product visibility | ✔ | ✔ | ✔ | |
| Product Inventory | ✔ | |||
| Product attributes / transl. | ✔ | ✔ | ✔ | |
| Base currency | ✔ | ✔ | ||
| (Default) display currency | ✔ | ✔ | ||
| Category settings | ✔ | ✔ | ||
| System configuration settings | ✔ | ✔ | ✔ | |
| Root category configuration | ✔ | |||
| Orders | ✔ | ✔ | ||
| Customers | ✔ | ✔ |
Store resolving may fail if configured secure/unsecure URLs differ, see \Ho\StoreResolver\Model\StoreUrls::getBaseUrls,
which only uses the unsecure base URL but should probably check the right one depending on Request::isSecure()