Рестлер 3: 404 на всех трассах

Я пытаюсь использовать Рестлер в API приложения PHP, но я получаю 404 объект возвращается по всем запросам. Я рассмотрел следующие похожие вопросы:

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

Например, когда я копирую папку _001_helloworld, который работает локально, на мой сервер, я получил 404 тело ответа:

{
error: {
code: 404,
message: "Not Found"},
debug: {
source: "Routes.php:431 at route stage",
stages: {
success: [
"get"],
failure: [
"route",
"negotiate",
"message"]
}
}
}

Вот мое PHPInfo

Как я могу исправить все маршруты, возвращающие 404 в теле ответа в Рестлере.

0

Решение

Ик потратил целый день на решение этой же проблемы, но в конце концов сумел это сделать. На localhost все работало гладко, но на сервере я получил ту же ошибку 404 («Routes.php: 431 на этапе маршрутизации»), что и вы.

Вот что решило это для меня:

Мне пришлось переместить .htaccess в корень веб-сайта, а затем изменить RewriteRule, чтобы иметь [местоположение вашего API] /index.php вместо просто index.php.

Мой файл .htaccess:

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

Базовый пример hello world теперь можно назвать так: GET [имя_сервера] / say / hello

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]