在http:// {magentoHost} / api /之后找不到Magento REST

时间:2014-05-29 12:22:37

标签: api magento rest

我正在尝试访问来宾用户的其余API  http://localhost/b_marketing/api/rest/products,但页面重定向到404页面。我已经正确检查了ACL属性RULES,REST - 属性和REST - ROLES中的retrive目录产品。通过使用这些所有配置,它也可以在我的其他项目中正常工作 我需要在这里提一件事,我的项目只有在我使用http://localhost/b_marketing/index.php时才能工作,尽管设置了htaccess重写并从管理面板设置重写。我的apache重写也已设置。
当我使用http://localhost/b_marketing/api/?wsdl时,它会起作用,而某些xml会返回。
但我不能使用http://localhost/b_marketing/api/rest/products
 响应标题始终为404。


我也无法使用http://localhost/b_marketing/index.php/api/rest/products访问REST API。

3 个答案:

答案 0 :(得分:4)

确保您在.htaccess中有重写规则。

  1. 转到magento根文件夹,在您的情况下是b_marketing
  2. 在任何编辑器中打开.htaccess文件
  3. 找到api的重写规则
  4. 如果您没有.htaccess文件,您可以考虑复制原始文件 Magento packagem

答案 1 :(得分:1)

如果你运行nginx:

.htaccess不受支持。编辑nginx配置并添加以下行:

location /api {
    rewrite ^/api/rest /api.php?type=rest last;
}

我读到该行有时已经存在,但break代替last。那是错的,把它改成last

答案 2 :(得分:0)

请务必使用-MultiViews。由于api.php/api路径具有相同的名称(没有扩展名),因此Apache可能会自动将api解析为api.php并导致问题。