Ви не вказали, яку версію Magento використовуєте, але я припускаю, що це <CE 1.9.1.0 або <EE 1.14.1.0. У цьому випадку рішенням є оновлення Magento до CE 1.9.1.0 .
Magento використовує Zend Framework (або більш конкретно: клас Zend_Validate_Hostname
) для перевірки домену верхнього рівня.
У CE 1.9.0.0 та відповідній версії EE Magento використовував Zend Framework 1.12.3. Ця версія не підтримувала нові домени верхнього рівня. Через це не вдалося перевірити як у фронтенді, так і у вихідному.
У CE 1.9.1.0 та EE 1.14.1.0 Magento оновив Zend Framework до 1.12.7. Ця версія реалізує кілька нових доменів верхнього рівня, одним з яких є .florist
.
Сказавши це, є також інші домени верхнього рівня, які в даний час не підтримуються в поточній версії Magento . У Zend Framework 1.12.10, який ще не включений, відбулося ще одне оновлення перевірки імені хоста, що додало багато нових адрес.
Ви можете:
- копіювати
lib/Zend/Validate/Hostname.php
вapp/code/local/Zend/Validate/Hostname.php
- отримати файл Zend_Validate_Hostname з 2014/10/24 (копіювати файл потрібно довго, тому перейдіть до GitHub),
- скопіюйте
$_validTlds
змінну з версії, розміщеної у GitHub, до свого Hostname.php
та
замінити
// First check TLD
$matches = array();
if (preg_match('/([^.]{2,10})$/i', end($domainParts), $matches) ||
з
// First check TLD
$matches = array();
if (preg_match('/([^.]{2,63})$/i', end($domainParts), $matches) ||
Це дозволить отримати нові домени верхнього рівня, в тому числі домішки, що перевищують 10 символів.