Magento REST API响应获取404

Magento REST API响应获取404,magento,oauth,Magento,Oauth,我们从magento管理端配置了REST API用户和权限。 然后尝试了使用客户密钥和密钥的授权方法,得到了访问令牌和令牌密钥 然后,我们尝试使用OAuth版本1.0调用API URL [Magentosite]/api/rest/products 但以404错误结束 还有一些地方我发现的网址需要在下面的格式 [Magentosite]/api.php?type=rest/products 但以指定的无效webservice适配器结束 使用magento版本-1.9.0.1 有人能建议这

我们从magento管理端配置了REST API用户和权限。 然后尝试了使用客户密钥和密钥的授权方法,得到了访问令牌和令牌密钥

然后,我们尝试使用OAuth版本1.0调用API URL

[Magentosite]/api/rest/products 
但以404错误结束

还有一些地方我发现的网址需要在下面的格式

[Magentosite]/api.php?type=rest/products 
但以指定的无效webservice适配器结束

使用magento版本-1.9.0.1

有人能建议这端url调用有什么问题吗

在我们将下面的更改放入apache文件后,它工作并得到响应


在我的例子中,即使正确配置了localhost,我仍然收到404,因为在我的请求头中,我没有发送内容类型:

内容类型:text/xml


在第一次成功的请求之后,我能够使用api,在接下来的请求中,内容类型也不是必需的,即使我没有发送正确的凭据,magento也会返回503,而不是以前的404。

您已经回答了您的问题,magento访问REST api,您在apache配置中找到了404 url未找到,主要是指向缺少AllowOverride的链接,如中所述


在/etc/apache2/apache2.conf中添加您的设置在我的示例中,生产服务器的.htaccess缺少以下行,我通过比较本地主机和生产服务器的.htaccess文件得出结论

############################################
## rewrite API2 calls to api.php (by now it is REST only)

    RewriteRule ^api/rest api.php?type=rest [QSA,L]

对于在遵循所有其他建议后仍获得404的用户,请确保在Apache VirtualHost配置中未设置多视图。

404表示未找到,因此URL:s不存在。也许这些有帮助:&
<Directory /var/www/html/magento/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
############################################
## rewrite API2 calls to api.php (by now it is REST only)

    RewriteRule ^api/rest api.php?type=rest [QSA,L]