Отправка URL-адреса Magento API через пользовательский URL-адрес администратора

magento.stackexchange https://magento.stackexchange.com//questions/49221

  •  12-12-2019
  •  | 
  •  

Вопрос

Может ли мой магазин обрабатывать запросы API, используя собственный URL-адрес администратора?Например: https://admin.magento.lc/api/v2_soap?wsdl=1?Проблема в том, что если я использую URL-адрес API через собственный URL-адрес администратора, он перенаправляется на интерфейс.

Это было полезно?

Решение

После просмотра /app/code/core/Mage/Api/etc/config.xml я видел, что маршрут настроен только для frontend, не для admin:

<config>
<modules ...>
<global ...>
<frontend>
        <routers>
            <api>
                <use>standard</use>
                <args>
                    <module>Mage_Api</module>
                    <frontName>api</frontName>
                </args>
            </api>
        </routers>
...
</frontend>

Таким образом, нет никакого административного маршрута для /api что может быть причиной перенаправления.Хотя я это не проверял.

Другие советы

Первое решение - деактивировать перенаправление 301 или 302 от System > Web > Url Options > Auto-redirect to Base URL

Затем попробуйте еще раз без пользовательского URL admin: http://magento.dev/API / v2_soap / index / wsdl / 1 /

Это может привести к тому, что некоторые проблемы потери http://example.com/store/ http://www.example.com/store/ перенаправления ... .


Второе решение - это установить правило перезаписи на конфиге веб-сервера (здесь apache vhost):

RewriteCond %{HTTP_HOST} ^admin\.magento\.biz$ [NC]
RewriteCond %{REQUEST_URI} /api/
RewriteRule ^ https://magento.biz%{REQUEST_URI} [L,R]
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top