【发布时间】:2013-05-29 11:18:54
【问题描述】:
我是 Ez Publish 的新手,我想让默认的 Rest API 作为第一步工作,然后为移动通信目的开发我自己的 Rest API 扩展,但我一开始就被阻止了。
当我尝试从 "www.mydomain.com/api/ezp/content/node/2/list" 获取结果时,我得到 "{"error_message":"Not找到"}"
配置完成:
设置/覆盖/site.ini.append.php
[ExtensionSettings]
ActiveExtensions[]
ActiveExtensions[]=ezprestapiprovider
...
extension/ezprestapiprovider/settings/rest.ini.append.php
<?php /* #?ini charset="utf-8"?
[ApiProvider]
ProviderClass[ezp]=ezpRestApiProvider
[Authentication]
RequireAuthentication=disabled
*/ ?>
.htaccess
DirectoryIndex index.php
RewriteEngine On
RewriteRule api index_rest.php [L]
RewriteRule ^index_rest\.php - [L]
...
我为我的英语道歉。
Edit1:Ez Publish 4.5 版
Edit2:当我更改“www.mydomain.com/api/ezp/content/node/2/list”时,这似乎是RewirteRule的问题到 "www.mydomain.com/index_rest.php/api/ezp/content/node/2/list" 它可以工作,我该如何解决?
编辑3: 我尝试了下面的所有重写规则,除了最后一个之外仍然无法正常工作。
# RewriteRule ^/api/ /index_rest.php [L]
# RewriteRule ^api/(.*) /index_rest.php/$1 [R=302,NC]
# RewriteRule ^/api/(.*) /index_rest.php/api/$1 [NC,L]
RewriteRule api index_rest.php [L]
但是当我尝试添加新扩展时,它似乎会产生冲突...... 我添加了一个新扩展,当我尝试访问它时,日志文件出现错误:
意外错误,消息是:找不到 API 提供程序“移动”。在 mydomaine.com\kernel\private\rest\classes\rest_provider.php 第 37 行
【问题讨论】: