Restler 404错误

时间:2013-12-01 12:03:33

标签: php restler

我刚刚开始使用Restler创建一个api并拥有以下代码。

的index.php

require_once '../vendor/restler.php';
use Luracast\Restler\Defaults;
use Luracast\Restler\Restler;
Defaults::$useUrlBasedVersioning = true;
$r = new Restler();
$r->setAPIVersion(1);
$r->setSupportedFormats('XmlFormat', 'JsonFormat');
$r->addAPIClass('Info', '');
$r->addAPIClass('Info');
$r->addAPIClass('getList');
$r->handle();

info.php的

<?php
class Info {
    function index() {
        return "Version 1.0.0";
    }
}
?>

V1 / getList.php

<?php
namespace v1;
use stdClass;
class getList
{
    function index()
    {
        return "hello";
    }
    function newest() {
        return "hello2";
    }
}

我在Windows机器上用xampp测试它, localhost / api / 映射到公用文件夹。 当我在浏览器中打开 localhost / api / 时,它将按预期显示 Version 1.0 。但是当我打开 info getList 时,我从apache收到404错误。

我该如何解决? 非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您应该将其添加到/api/.htaccess文件中:

DirectoryIndex index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ index.php [QSA,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>