Рестлер всегда возвращается не найденным


Я застрял здесь, в wamp я запускаю все и отлично работаю, однако, когда я пытался установить свой api в поле centos, я всегда получал сообщение об ошибке "Не найден".

Я не знаю, что еще делать!

Даже пример "сказать/поздороваться" терпит неудачу...

Существует ли какая-либо спецификация требований apache для обработки 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/say/hello не был найден на этом сервере.

Это в основном весь мой код, если вы, ребята, думаете, что jsonpformat может мешать мне, я мог бы вставить этот код сюда.

Когда я набираю URL-адрес следующим образом: http://myhost/mylocation/ Я получаю ошибку json:

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

Если я наберу http://myhost/mylocation/say/hello, то получу ошибку не найдено, что-то вроде.htaccess не работает.

[ РЕДАКТИРОВАТЬ]

Кажется, это сработает, если я добавлю"index.php "на URL-адрес, подобный этому: http://myhost/mylocation/index.php/say/hello, но я не могу оставить это так...

Я получил это от: Restler возвращает код состояния 404, если index.php не включен в URL-адрес

Author: Community, 2012-09-07

1 answers

Хорошо, я нашел проблему, спасибо всем за вашу помощь.

Решением было установить переменную AllowOverride файла httpd.conf в All вместо None. Как только я попробовал, это сработало:)

Помимо mod_rewrite apache, я не нашел другого требования для запуска restler, если я это сделаю, я отредактирую это и помещу его здесь.

Я обнаружил, что это общая проблема с restler, и, возможно, было бы неплохо упомянуть об этом в документации, надеюсь, это может помочь тебе.

PD: Я должен сказать, что это очень раздражает, когда за меня голосуют во время редактирования моего вопроса, когда с момента его публикации не прошло и минуты, однако я сделал это так быстро, как только мог. Вы можете сказать: "Почему вы тогда это опубликовали?" Из-за части требований к рестлеру не требуется много деталей, чтобы ответить на этот вопрос...

 6
Author: danielrvt, 2012-09-10 17:21:34