カスタム管理者URLを介したMagento API URLディスパッチ
-
12-12-2019 - |
質問
カスタム管理者URLを使用してAPIリクエストを解決できますか?例: https://admin.magento.lc/api/v2_soap?wsdl=1 ?ここで問題は、フロントエンドにリダイレクトされたカスタム管理者URLを介してAPI URLを使用している場合です。
解決
/app/code/core/Mage/Api/etc/config.xml
を参照した後、RounsiceTagCodeはfrontend
の場合にのみ設定されているため、admin
:
<config>
<modules ...>
<global ...>
<frontend>
<routers>
<api>
<use>standard</use>
<args>
<module>Mage_Api</module>
<frontName>api</frontName>
</args>
</api>
</routers>
...
</frontend>
.
だから/api
の管理経路はありません。これは、リダイレクトされる理由が原因である可能性があります。私はそれをテストしませんでした。
他のヒント
最初の解決策は、System > Web > Url Options > Auto-redirect to Base URL
から301または302のリダイレクトを無効にすることです。
カスタム管理者URLなしで再試行してください: http://magento.dev/API / V2_SOAP / INDEX / WSDL / 1 /
これはいくつかの問題を失うかもしれません http://example.com/store/ http://www.example.com/store/ リダイレクト...
2番目の解決策は、Webサーバ設定(ここでApache Vhost)に書き換えルールを設定することです。
.RewriteCond %{HTTP_HOST} ^admin\.magento\.biz$ [NC]
RewriteCond %{REQUEST_URI} /api/
RewriteRule ^ https://magento.biz%{REQUEST_URI} [L,R]