Базовые URL-адреса в глобальном масштабе при настройке нескольких магазинов


У меня есть установка с несколькими магазинами, и у каждого магазина есть свой собственный домен, установленный в System > Configuration > General > Web > [Un]Secure > Base URL:

[Global Scope]
  |-- http://separatenode.com/
  |
  |-- [Website Scope A]
  |     |-- http://domaina.com/
  |
  |-- [Website Scope B]
        |-- http://domainb.com/

Какова правильная конфигурация URL-адреса в глобальной области, когда:

  • В одной установке запущено несколько разных хранилищ
  • Ваш сервер находится на совершенно отдельном узле

Я понимаю, что базовые URL-адреса области действия по умолчанию должны указывать на тот же домен, что и ваш сервер, но в моем случае это значение имеет в прошлом был установлен в "основное" хранилище.

Обратите внимание, что мы также указываем пользовательский URL-адрес администратора в System > Configuration > Advanced > Admin > Admin Base URL > Custom admin URL, который совпадает с базовым безопасным URL-адресом в глобальной области.

И, работая на Apache, наши директивы VirtualHost устанавливают коды магазинов (так что здесь это не проблема).

В прошлом я видел странные проблемы с URL-адресами, создаваемыми в магазине на глобальном уровне (т.Е.: domainb.com генерирует URL-адрес на separatenode.com). Поэтому я пытаюсь примирить эти вещи в своем уме, и я верю это связано с конфигурацией базового URL-адреса глобальной области.

Author: Rick Buczynski, 2014-12-29

1 answers

То, что вы уже упомянули, верно. Глобальная область действия совпадает с областью действия администратора. Они не совсем одинаковы, но поскольку все остальные области (Просмотр магазина, Магазин, веб-сайт) управляются из панели администратора Magento, для работы панели администратора Magento необходимо, чтобы область была глобальной. Это также означает, что Базовый URL-адрес вашей глобальной области должен указывать на URL-адрес администратора Magento. Тем не менее, Magento также ввел опцию "Пользовательский URL администратора", как вы упомянули, и это это немного усложняет ситуацию. Насколько я понимаю, "Пользовательский URL-адрес администратора" следует использовать, если доступ к бэкэнду Magento должен осуществляться только через частный URL-адрес (например, внутренний URL-адрес для людей, находящихся за корпоративным брандмауэром), поэтому он станет privateseparatenode.com. Тем не менее, глобальная область Magento все еще может нуждаться в контакте с внешним миром. Например, если PayPal выполняет обратный вызов IPN, он связывается с Magento, и это может быть в глобальном масштабе (не знаю, действительно ли это так или нет), и по этой причине вам понадобится общедоступный URL-адрес, такой как publicseparatenode.com. Короче говоря, пользовательский URL-адрес администратора обычно необходим только в том случае, если к администратору необходимо получить доступ с помощью частного метода, в то время как глобальная область (базовый URL-адрес в глобальной области) должна быть общедоступной.

Короче говоря: Ваша настройка кажется полностью правильной в том смысле, что глобальная область использует домен separatenode.com (при условии, что он общедоступен). Однако в прошлом я видел сторонние модули, которые не учитывали область видимости на все, и просто загружал материал из глобальной области, потому что это казалось проще. Таким образом, ваша проблема может быть связана со сторонним модулем (?).

Тот факт, что ваш сервер Magento находится на другом узле, не имеет значения. В Magento предполагается, что у вас есть один "виртуальный" экземпляр приложения, указывающий на одну "виртуальную" базу данных, даже если на разных узлах может быть несколько экземпляров приложений, указывающих на одну и ту же базу данных, или несколько экземпляров базы данных из-за кластеризации или похожий. Подумайте об этом так: существует одно дерево конфигурации Magento, которое имеет значения в нескольких областях. Доступ к тому же дереву конфигурации осуществляется с вашего внутреннего узла Magento.

 2
Author: Jisse Reitsma, 2015-02-13 14:33:15