我刚刚开始使用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错误。
我该如何解决? 非常感谢您的帮助
答案 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>