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


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

Author: mageUz, 2014-12-23

2 answers

После просмотра /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 нет маршрута администратора, который может быть причиной перенаправления. Однако я не проверял это.

 5
Author: Anna Völkl, 2015-02-04 15:43:40

Первое решение состоит в том, чтобы отключить перенаправление 301 или 302 с System > Web > Url Options > Auto-redirect to Base URL

Затем повторите попытку без пользовательского URL-адреса администратора: 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]
 0
Author: DependencyHell, 2019-10-18 13:13:28