hryvinskyi/magento2-store-matcher
Composer 安装命令:
composer require hryvinskyi/magento2-store-matcher
包简介
Automatic store/website code matcher for multi-store Magento 2 setup based on HTTP_HOST
README 文档
README
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:
composer require hryvinskyi/magento2-store-matcher
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:
return [ 'store' => [ 'default' => ['www.example.com', 'example.com'], 'french' => ['fr.example.com', 'french.example.com'], 'german' => ['de.example.com', 'german.example.com'], // ... more stores ], 'website' => [ 'base' => ['www.example.com'], 'europe' => ['eu.example.com'], // ... more websites ], ];
Local Overrides
For environment-specific configuration, create app/etc/store-hosts.local.php:
return [ 'store' => [ 'default' => ['test.example.test', 'localhost'], 'en_store' => ['en.example.test'], ], ];
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 volodymyr@hryvinskyi.com
hryvinskyi/magento2-store-matcher 适用场景与选型建议
hryvinskyi/magento2-store-matcher 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 170 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 11 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 hryvinskyi/magento2-store-matcher 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hryvinskyi/magento2-store-matcher 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 170
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-19