Restler总是返回未找到(Restler always returns not found)

2019-06-28 00:21发布

我在这里卡住了,在我WAMP运行一切与工作正常,但是,当我试图安装我的API在一个CentOS中,我总是得到一个“Not Found”错误。

我不知道还能做什么!

即使是说/ Hello示例失败...

有没有处理的阿帕奇要求的任何规格restler?

任何想法?这是一种迫切

say.php:

<?php
class Say {
    function hello($to='world') {
        return "Hello $to!";
    }
}

的index.php

<?php
    require_once 'restler/restler.php';
    require_once 'say.php';

    $r = new Restler();
    $r->addAPIClass('Say');

    $r->setSupportedFormats('jsonpformat', 'jsonformat', 'xmlformat', 'yamlformat');
    $r->handle();

的.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>
<IfModule mod_php5.c>
    php_flag display_errors On
</IfModule>

错误:

未找到所请求的URL / mylocation /说/招呼在此服务器上找到。

那基本上都是我的代码,如果你们认为jsonpformat可能在我的方式steping我可以在这里粘贴代码。

当我像这样输入的网址: http://myhost/mylocation/我得到一个JSON错误:

{
  "error": {
    "code": 404,
    "message": "Not Found"
  }
}

如果键入http://myhost/mylocation/say/hello ,然后我得到的不是发现错误,它像的.htaccess不工作。

[编辑]

这似乎工作,如果我添加“的index.php”像这样的网址: http://myhost/mylocation/index.php/say/hello ,但我不能离开它像这样...

我得到这个来自: Restler返回404个状态码,如果URL中不包括的index.php

Answer 1:

好吧,我发现这个问题,感谢大家的帮助。

解决的办法是设定AllowOverride中的变量httpd.conf文件, All的,而不是None 。 只要我想,它的工作:)

另外的Apache mod_rewrite的,我没有找到另外一个要求运行restler,如果我这样做,我将修改这一点,并把它放在这里。

我发现,这是restler一个共同的问题,这可能是件好事提到它在文档中,希望这可以帮助你。

PD:我必须说,这是非常恼人的同时编辑我的问题被否决时,它甚至没有经过一分钟,因为我的贴吧,不过我也一样快,我可以。 你可能会说“为什么YOUT贴吧呢?” 由于restler要求的一部分,所以不需要太多的细节来回答......



文章来源: Restler always returns not found