Download the PHP package hryvinskyi/magento2-store-matcher without Composer
On this page you can find all versions of the php package hryvinskyi/magento2-store-matcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hryvinskyi/magento2-store-matcher
More information about hryvinskyi/magento2-store-matcher
Files in hryvinskyi/magento2-store-matcher
Package magento2-store-matcher
Short Description Automatic store/website code matcher for multi-store Magento 2 setup based on HTTP_HOST
License MIT
Informations about the package magento2-store-matcher
Magento 2 / Adobe Commerce Store/Website Matcher
Automatic store/website code matcher for multi-store Magento 2 / Adobe Commerce setups based on HTTP_HOST.
Overview
This Composer package automatically sets the correct Magento store or website code based on the incoming HTTP_HOST header,
eliminating the need to manually configure store matching in pub/index.php.
Features
- Zero configuration - Works automatically after installation
- Performance optimized - Stores/Websites can be cached by opcache (static array in app/etc/store-hosts.php)
- Local overrides - Support for environment-specific configuration
- Composer autoload - Uses standard Composer autoload mechanism
Installation
- Run the following Composer command in your Magento 2 / Adobe Commerce project root:
The post-install script will automatically create app/etc/store-hosts.php and app/etc/store-hosts.local.php if they don't exist.
Configuration
Main Configuration
Edit app/etc/store-hosts.php to define your store and website host mappings:
Local Overrides
For environment-specific configuration, create app/etc/store-hosts.local.php:
This file will be automatically merged with the main configuration and can be gitignored.
How It Works
- Composer's autoload mechanism loads
src/autoload.phpon every request - The autoload file checks if running in web context (not CLI)
- It calls
StoreMatcher::match()which contains all the matching logic - The matcher loads configuration from
app/etc/store-hosts.php - It modifies
$_SERVERwithPARAM_RUN_TYPEandPARAM_RUN_CODE - Magento bootstrap uses these values to determine the store/website
Requirements
- PHP >= 8.1
- Magento 2.4+
License
MIT
Author
Volodymyr Hryvinskyi [email protected]